OAuth Api call success
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Mvc;
|
||||
|
||||
@ -8,11 +11,35 @@ namespace testOauthClient.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
[HttpGet]
|
||||
public IActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> GetUserInfo(CancellationToken cancellationToken)
|
||||
{
|
||||
using (var client = new HttpClient()) {
|
||||
var request = new HttpRequestMessage(HttpMethod.Get, "http://dev.pschneider.fr/api/me");
|
||||
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);
|
||||
|
||||
var response = await client.SendAsync(request, cancellationToken);
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
return View("Index", model: await response.Content.ReadAsStringAsync());
|
||||
}
|
||||
|
||||
}
|
||||
protected string AccessToken {
|
||||
get {
|
||||
var claim = HttpContext.User?.FindFirst("access_token");
|
||||
if (claim == null) {
|
||||
throw new InvalidOperationException();
|
||||
}
|
||||
|
||||
return claim.Value;
|
||||
}
|
||||
}
|
||||
public IActionResult About()
|
||||
{
|
||||
ViewData["Message"] = "Your application description page.";
|
||||
|
@ -78,7 +78,7 @@ namespace testOauthClient
|
||||
options.ClientId="21d8bd1b-4aed-4fcb-9ed9-00b43f6a8169";
|
||||
options.ClientSecret="blih";
|
||||
options.Scope.Add("profile");
|
||||
options.SaveTokensAsClaims = true;
|
||||
// options.SaveTokensAsClaims = true;
|
||||
options.UserInformationEndpoint = "http://dev.pschneider.fr/api/me";
|
||||
}
|
||||
);
|
||||
|
@ -16,7 +16,7 @@
|
||||
<h3>Message received from the resource controller: @Model</h3>
|
||||
}
|
||||
|
||||
<form action="~/" method="post">
|
||||
<form action="~/Home/GetUserInfo" method="post">
|
||||
<button class="btn btn-lg btn-warning" type="submit">Query the resource controller</button>
|
||||
</form>
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
"defaultNamespace": "testOauthClient"
|
||||
},
|
||||
"dependencies": {
|
||||
"Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-rc1-final",
|
||||
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
|
||||
"Microsoft.AspNet.Authentication.OAuth": "1.0.0-rc1-final",
|
||||
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
|
||||
|
Reference in New Issue
Block a user