0

ここで簡単なものを願っています:) 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);

この時点で発行されるベアラートークンを取得できますか? 理想的には、レガシーアプリケーションが取得できるように、これをデータベースに保存したいと考えています。トークンを保持する (可能性がある) オブジェクトに似ているすべてのオブジェクトを掘り下げると、NULL のように見えます

4

1 に答える 1

3

「TokenEndPointReponse」をオーバーライドすることで、生成されたトークンを簡単に掘り出すことができます。

public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
    string thisIsTheToken = context.AccessToken;
    return base.TokenEndpointResponse(context);
}
于 2015-08-03T11:55:57.887 に答える