在ASP.NET 5中实现自定义身份验证提供程序

时间:2016-02-01 10:49:36

标签: asp.net-core asp.net-core-1.0

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

我有一个可以玩的项目。见here。 JWT令牌代码位于单独的程序集中 - SimpleJwtAuth。它可以通过用户登录名和密码生成令牌。但我对身份验证有疑问。我继承自AuthenticationHandler<TAuthOptions>,可以使用AuthenticationResult.Failed返回AuthenticationResult.SuccessAuthenticationTicket

问题在于我没有看到这个AuthenticationTicket如何记录用户。我应该自己调用SignInManager.SignInAsync,还是忘记设置任何参数来自动生成?

说到示例:我发现签署用户是开发人员的代码责任。这让我觉得我应该做类似的事情。但那么 - 为什么我们需要AuthenticateResult及其门票?

1 个答案:

答案 0 :(得分:0)

您认为开发人员有责任登录?

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