Ara*_*and 5 authentication asp.net-mvc owin
AuthenticationManager 有两种方法.
void SignIn(params ClaimsIdentity[] identities);
Task<AuthenticateResult> AuthenticateAsync(string authenticationType);
Run Code Online (Sandbox Code Playgroud)
他们的目的是什么?在什么情况下应该使用它们?
我认为身份验证和登录方法的名称描述了目的
所以AuthenticateAsync的目的基本上是获取身份验证票证
await ticket
= Authentication.AuthenticateAsync(DefaultAuthenticationTypes.ExternalBearer);
Run Code Online (Sandbox Code Playgroud)
它返回一个像这样的AuthenticateResult
{Microsoft.Owin.Security.AuthenticateResult}
Description: {Microsoft.Owin.Security.AuthenticationDescription}
Identity: {System.Security.Claims.ClaimsIdentity}
Properties: {Microsoft.Owin.Security.AuthenticationProperties}
Run Code Online (Sandbox Code Playgroud)
有了这个结果,您现在可以登录(将身份信息添加到上下文中)
Context.Authentication.SignIn(ticket.Properties, ticket.Identity);
Run Code Online (Sandbox Code Playgroud)
您可以在下面的示例代码中非常清楚地看到它
var ticket = await Context.Authentication.AuthenticateAsync(Options.AuthenticationType);
if(ticket != null)
{
Context.Authentication.SignIn(ticket.Properties, ticket.Identity);
Response.Redirect(ticket.Properties.RedirectUri);
return true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
946 次 |
| 最近记录: |