gpt4 book ai didi

asp.net-mvc - AuthenticationManager.SignIn 与 AuthenticationManager.AuthenticateAsync 的目的是什么?

转载 作者:行者123 更新时间:2023-12-03 03:19:42 25 4
gpt4 key购买 nike

AuthenticationManager 有两种方法。

void SignIn(params ClaimsIdentity[] identities);
Task<AuthenticateResult> AuthenticateAsync(string authenticationType);

他们的目的是什么?它们分别在什么情况下使用?

最佳答案

我认为AuthenticateSignIn方法的名称描述了目的

因此,AuthenticateAsync 的目的基本上是获取身份验证票

await ticket 
= Authentication.AuthenticateAsync(DefaultAuthenticationTypes.ExternalBearer);

它返回一个AuthenticateResult,如下所示

{Microsoft.Owin.Security.AuthenticateResult}
Description: {Microsoft.Owin.Security.AuthenticationDescription}
Identity: {System.Security.Claims.ClaimsIdentity}
Properties: {Microsoft.Owin.Security.AuthenticationProperties}

有了这个结果,您现在可以登录(将身份信息添加到上下文中)

Context.Authentication.SignIn(ticket.Properties, ticket.Identity);

您可以在下面的示例代码中清楚地看到它

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;
}

关于asp.net-mvc - AuthenticationManager.SignIn 与 AuthenticationManager.AuthenticateAsync 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46298697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com