根据以下参考资料..,
我在下面的代码中创建了access_token。
var ticket = new AuthenticationTicket(identity, props);
OAuthGrantResourceOwnerCredentialsContext.Validated(ticket);
但不幸的是,这个Validated(ticket)
方法不会返回自动生成的access_token。
我想得到的就像下面的代码。
string _access_token = OAuthGrantResourceOwnerCredentialsContext.Validated(ticket);
System.out.println("Access_token ="+_access_token);
请让我接受你的建议。
答案 0 :(得分:0)
您必须重写OAuthAuthorizationServerProvider类的方法 TokenEndpointResponse ,并获取上下文的属性 AccessToken 。
public class ApplicationOAuthProvider : OAuthAuthorizationServerProvider
{
public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context)
{
var token = context.AccessToken;
return base.TokenEndpointResponse(context);
}
}
当然,您必须致电自定义提供商
static Startup()
{
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60),
AllowInsecureHttp = true,
RefreshTokenProvider = new ApplicationRefreshTokenProvider(),
};
}