1
我想通過刷新令牌更改聲明的值。我刷新令牌提供者是這樣的:如何更改刷新令牌中的聲明值和承載驗證
public class MyRefreshTokenProvider : AuthenticationTokenProvider
{
public override void Create(AuthenticationTokenCreateContext context)
{
...
var claim = context.Ticket.Identity.FindFirst(ClaimTypes.UserData);
if (claim != null)
{
context.Ticket.Identity.RemoveClaim(claim);
context.Ticket.Identity.AddClaim(new Claim(ClaimTypes.UserData, "New Value"));
}
context.SetToken(context.SerializeTicket());
}
public override void Receive(AuthenticationTokenReceiveContext context)
{
context.DeserializeTicket(context.Token);
}
}
而且在啓動類:
app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions
{
...
RefreshTokenProvider = new MyRefreshTokenProvider()
});
刷新令牌請求,沒有錯誤完成。但是,當我使用新的訪問令牌時,聲明價值仍然是舊的。
我的方法正確嗎?或者,如何更改承載身份驗證中的聲明值?