0

我正在尝试在 ASP.NET 5 之上实现我自己的 JWT Bearer 身份验证版本,而不参考任何现有的 JWT 令牌处理程序类。了解身份验证和授权的内部机制是我的练习。

我有一个项目要玩。在这里看到它。JWT 令牌代码在单独的程序集中 - SimpleJwtAuth. 它可以通过用户登录名和密码生成令牌。但我对身份验证有疑问。我继承自AuthenticationHandler<TAuthOptions>,它可以返回AuthenticationResult.FailedAuthenticationResult.Successwith AuthenticationTicket

问题是我看不到这如何AuthenticationTicket让用户登录。我应该自己调用SignInManager.SignInAsync,还是我忘记设置任何参数以使这自动发生?

说到例子:我看到让用户登录是开发人员的代码责任。这让我觉得我应该做类似的事情。但是然后 - 为什么我们需要AuthenticateResult和它的门票呢?

4

1 回答 1

0

您在哪里看到登录是开发人员的责任?

SignInManager是身份包的一部分。如果您没有将身份包与 cookie 身份验证结合使用,则无需调用它。用票返回AuthenticationResult.Success就足以Principal在当前请求上加上一个,这实际上就是登录。

于 2016-02-01T14:38:22.830 回答