繁体   English   中英

OWIN 自定义认证服务

[英]OWIN custom Authentication Service

我需要创建一个支持身份验证的单页应用程序。 我们的企业已经有了身份验证服务。

我只是不知道从哪里开始。

设想:

用户尝试访问控制器中的受保护方法:

[Authorize]
public class MeController : Controller

由于他没有登录,他被重定向到登录页面:

 [HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                //Call business authentication service
                if (GetClient().OpenSession(model.username, model.password))
                    // Set Cookie? Implement some Owin interfaces?
            }   
            // If we got this far, something failed, redisplay form
            return View(model);
        }

如您所见,这是在 opensession 下,我需要做一些事情来创建 cookie 或...??

另外,由于我们想使用 Facebook 和 Google OWIN 身份验证,我想我可以实现自己的 OWIN 类吗?

总之,这里的想法不是使用 SQL SERVER 或任何其他数据库来存储用户信息。 只是调用我们自己的服务?

该怎么办?

这是您应该开始使用 OWIN 进行身份验证的链接https://msdn.microsoft.com/en-us/magazine/dn745860.aspx

在开始之前,先熟悉一下 OWIN 的工作原理。 还要注意,OWIN 不支持无 cookie 登录,但另一方面,它支持 Claims,这不仅仅是一个角色提供者。

Katana codeplex页面上有针对 Facebook、Google 的 OWIN 的预开发 OAuth 实现。 另外如果你想集成更多的提供者, 这里是一个开发了几乎所有 OAuth 提供者的 github 项目。

祝你好运!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM