4
我想弄清楚如何從我的令牌中獲得索賠。 我會盡量的保持說明短期MVC與歐文JWT身份
- 我有一個HTML網頁,做了後到我的網頁API,確實與認證 檢查,並返回一個JWT令牌
- 當我得到令牌回來,我想把它發送到不同的網址,我這樣做的方式是使用查詢字符串。我知道我可以使用cookies,但對於這個應用程序,我們不想使用它們。所以,如果我的網址看起來像這樣
http://somedomain/checkout/?token=bearer token comes here
我使用Owin
middleware
,這是我迄今爲止
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions
{
Provider = new ApplicationOAuthBearerAuthenticationProvider(),
});
public class ApplicationOAuthBearerAuthenticationProvider
: OAuthBearerAuthenticationProvider
{
public override Task RequestToken(OAuthRequestTokenContext context)
{
if (context == null)
throw new ArgumentNullException("context");
var token = HttpContext.Current.Request.QueryString["token"];
if (!string.IsNullOrEmpty(token))
context.Token = token;
return Task.FromResult<object>(null);
}
}
但我如何得到Claims
出Token
或只是檢查IsAuthenticated
我想我controller
內以下只是爲了檢查,但IsAuthenticated
總是false
var identity = (ClaimsIdentity) HttpContext.Current.GetOwinContext().Authentication.User.Identity;
if (!identity.IsAuthenticated)
return;
var id = identity.FindFirst(ClaimTypes.NameIdentifier);