代码之家  ›  专栏  ›  技术社区  ›  Aran Mulholland JohnnyAce

AuthenticationManager的目的是什么。登录vs AuthenticationManager。AuthenticateAsync?

  •  7
  • Aran Mulholland JohnnyAce  · 技术社区  · 7 年前

    AuthenticationManager 有两种方法。

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

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

    2 回复  |  直到 7 年前
        1
  •  2
  •   Victor Hugo Terceros    7 年前

    我认为方法的名称描述了目的 证明…是真实的 签名

    因此 AuthenticateAsync 身份验证票据

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

    它返回一个 这样地

    {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;
        }
    
        2
  •  -2
  •   ebrahim.mr    7 年前

    这可能有用。

    AuthenticationManager.SignIn AuthenticationManager.AuthenticateAsync