Asp.Net Web Api 2 - 如何使用身份模型使用 JWT 访问令牌和用户声明
Asp.Net Web Api 2 - How to consume JWT access token and user claims using Identity Model
我已经在 Asp.Net Web Api 项目中实施了授权服务器,如本 article 中所述。
现在我需要使用来自 .Net c# 客户端的服务。在 IdentityModel documentation 中,我可以看到以下示例:
var client = new TokenClient(
"https://server/token",
"client_id",
"secret");
var response = await client.RequestClientCredentialsAsync("scope");
var token = response.AccessToken;
问题:
- 拥有客户端 ID 和客户端密码的目的是什么?
- 如何使用用户凭据对用户进行身份验证?
- 如何在客户端访问用户声明?
- 什么是
Scope
,它有什么用?
到using IdentityModel.Client;
可以通过以下方式消费代币。
var client = new TokenClient(authenticationUrl);
client.Timeout = TimeSpan.FromSeconds(60);
var tokenResponse = await client.RequestResourceOwnerPasswordAsync(userName, password);
var handler = new JwtSecurityTokenHandler();
var token = handler.ReadJwtToken(tokenResponse.AccessToken);
在 token
本身包含声明属性。
我已经在 Asp.Net Web Api 项目中实施了授权服务器,如本 article 中所述。
现在我需要使用来自 .Net c# 客户端的服务。在 IdentityModel documentation 中,我可以看到以下示例:
var client = new TokenClient(
"https://server/token",
"client_id",
"secret");
var response = await client.RequestClientCredentialsAsync("scope");
var token = response.AccessToken;
问题:
- 拥有客户端 ID 和客户端密码的目的是什么?
- 如何使用用户凭据对用户进行身份验证?
- 如何在客户端访问用户声明?
- 什么是
Scope
,它有什么用?
到using IdentityModel.Client;
可以通过以下方式消费代币。
var client = new TokenClient(authenticationUrl);
client.Timeout = TimeSpan.FromSeconds(60);
var tokenResponse = await client.RequestResourceOwnerPasswordAsync(userName, password);
var handler = new JwtSecurityTokenHandler();
var token = handler.ReadJwtToken(tokenResponse.AccessToken);
在 token
本身包含声明属性。