Asp.net web api 向OWIN Web API中的GrantRefreshToken()添加和检索新post参数的最佳方法

Asp.net web api 向OWIN Web API中的GrantRefreshToken()添加和检索新post参数的最佳方法,asp.net-web-api,oauth-2.0,asp.net-identity,owin,katana,Asp.net Web Api,Oauth 2.0,Asp.net Identity,Owin,Katana,使用刷新令牌获取新JWT的默认请求参数为: 授予\类型、刷新\令牌和客户端\ id 我需要在请求新的刷新令牌时通过添加新的body参数来控制索赔标识修改 假设参数由grant_声明命名,它可以保存true或false布尔值 如何在GrantRefreshToken()重写方法中获取该自定义参数 非常感谢最后,我从这篇文章中找到了答案: 在ValidateClientAuthentication中,我们可以添加其他参数 public override Task ValidateClientAut

使用刷新令牌获取新JWT的默认请求参数为: 授予\类型、刷新\令牌和客户端\ id

我需要在请求新的刷新令牌时通过添加新的body参数来控制索赔标识修改

假设参数由grant_声明命名,它可以保存true或false布尔值

如何在GrantRefreshToken()重写方法中获取该自定义参数


非常感谢

最后,我从这篇文章中找到了答案:

ValidateClientAuthentication
中,我们可以添加其他参数

public override Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
        {
   // other code ...
       var grantClaims = context.Parameters.Get("grant_claims");
    // other code ...
        context.OwinContext.Set<string>("grant_claims", grantClaims);
    // other code ...
}
公共覆盖任务ValidateClientAuthentication(OAuthValidateClientAuthenticationContext)
{
//其他代码。。。
var grantClaims=context.Parameters.Get(“grant_索赔”);
//其他代码。。。
context.OwinContext.Set(“grant_索赔”,grantClaims);
//其他代码。。。
}
然后获取身份验证和刷新令牌方法中的值

// auth
 public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var grantClaims = context.OwinContext.Get<string>("grant_claims");

}

//refresh token
public override async Task GrantRefreshToken(OAuthGrantRefreshTokenContext context)
        {
var grantClaims = context.OwinContext.Get<string>("grant_claims");
}
//auth
公共重写异步任务GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentials上下文)
{
var grantClaims=context.OwinContext.Get(“grant_索赔”);
}
//刷新令牌
公共重写异步任务GrantRefreshToken(OAuthGrantRefreshTokenContext)
{
var grantClaims=context.OwinContext.Get(“grant_索赔”);
}

最后,我从这篇文章中找到了答案:

ValidateClientAuthentication
中,我们可以添加其他参数

public override Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
        {
   // other code ...
       var grantClaims = context.Parameters.Get("grant_claims");
    // other code ...
        context.OwinContext.Set<string>("grant_claims", grantClaims);
    // other code ...
}
公共覆盖任务ValidateClientAuthentication(OAuthValidateClientAuthenticationContext)
{
//其他代码。。。
var grantClaims=context.Parameters.Get(“grant_索赔”);
//其他代码。。。
context.OwinContext.Set(“grant_索赔”,grantClaims);
//其他代码。。。
}
然后获取身份验证和刷新令牌方法中的值

// auth
 public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var grantClaims = context.OwinContext.Get<string>("grant_claims");

}

//refresh token
public override async Task GrantRefreshToken(OAuthGrantRefreshTokenContext context)
        {
var grantClaims = context.OwinContext.Get<string>("grant_claims");
}
//auth
公共重写异步任务GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentials上下文)
{
var grantClaims=context.OwinContext.Get(“grant_索赔”);
}
//刷新令牌
公共重写异步任务GrantRefreshToken(OAuthGrantRefreshTokenContext)
{
var grantClaims=context.OwinContext.Get(“grant_索赔”);
}