WebApi-在context.Validated()之后获取OAuth承载令牌

WebApi-在context.Validated()之后获取OAuth承载令牌,oauth,asp.net-web-api,bearer-token,Oauth,Asp.net Web Api,Bearer Token,我希望这里有一个简单的例子:)我有一个用于API的OAuth令牌端点,它可以完美地工作,但是,我想将令牌存储在数据库中 在 public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) 我有以下代码 var identity = new ClaimsIdentity(context.Options.AuthenticationType);

我希望这里有一个简单的例子:)我有一个用于API的OAuth令牌端点,它可以完美地工作,但是,我想将令牌存储在数据库中

public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
我有以下代码

var identity = new ClaimsIdentity(context.Options.AuthenticationType);

identity.AddClaim(new Claim("Username", context.UserName));
identity.AddClaim(new Claim("IpAddress", context.OwinContext.Request.RemoteIpAddress));
identity.AddClaim(new Claim("TokenReceivedDate", DateTime.Now.ToString()));

//  Now store the token in the database.

context.Validated(identity);

我可以获得此时要发行的持票人代币吗?理想情况下,我希望将其存储在数据库中,以供遗留应用程序使用。通过覆盖“TokenEndpointResponse”,您可以轻松地挖掘出生成的令牌。通过挖掘所有对象,任何类似于(可能)持有令牌的对象的内容都似乎为空

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
    string thisIsTheToken = context.AccessToken;
    return base.TokenEndpointResponse(context);
}

解决了这个问题,通过覆盖“TokenEndpointResponse”,您可以轻松地挖掘出生成的令牌

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
    string thisIsTheToken = context.AccessToken;
    return base.TokenEndpointResponse(context);
}

解决了这个问题,通过覆盖“TokenEndpointResponse”,您可以轻松地挖掘出生成的令牌

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
    string thisIsTheToken = context.AccessToken;
    return base.TokenEndpointResponse(context);
}

解决了这个问题,通过覆盖“TokenEndpointResponse”,您可以轻松地挖掘出生成的令牌

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
    string thisIsTheToken = context.AccessToken;
    return base.TokenEndpointResponse(context);
}