我试图编写自己的授权过滤器来处理基于令牌的身份验证。 [出于某些原因,我不想实施ASP.Net身份认证系统]
我想将自己的Generated令牌分配给WebApi中的用户上下文。
类似于ASP.net身份的功能。
我该如何手动完成此操作?
感谢。
答案 0 :(得分:1)
您可以通过创建自己的自定义令牌提供程序类来完成此操作。
public class AccessTokenProvider : Microsoft.Owin.Security.Infrastructure.AuthenticationTokenProvider
{
public override void Create(AuthenticationTokenCreateContext context)
{
context.SetToken("yourtoken");
base.Create(context);
}
}
并在owin启动课程中设置您的授权选项,如下所示。
OAuthServerOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/api/token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
AllowInsecureHttp = true,
AccessTokenProvider = new AccessTokenProvider()
};
app.UseOAuthAuthorizationServer(OAuthServerOptions);