我有一个简单的数据库和用户模型,其中包括全名,电子邮件,密码,性别,生日。我还在根据需要开发模型。我想设计我自己的简单的会员系统,因为asp.net身份对我来说有点困惑,我读了一些文章,但大多数都是关于asp.net MVC模板的。我已经完成了注册的登录表单。它将用户信息保存到数据库。用户使用EF。现在我想实现Facebook和谷歌登录注册。我该怎么办?
在Facebook/Google自己的身份验证中间件和Asp. js之间没有直接耦合。网络身份系统。在MVC模板中,它们通过AccountController
.
使用外部身份验证中间件而不使用ASP。NET身份,您通常会首先通过调用HttpContext.GetOwinContext().Authentication.Challenge(properties, LoginProvider)
发出AuthenticationResponseChallenge
。在MVC模板中,在ChallengeResult
类中完成,您可以将其复制到自己的解决方案中。
然后,您需要处理返回的响应,该响应在模板中的AccountController.ExternalLoginCallback()
操作方法中完成。只需编写自己的代码,而不是与ASP通信。. NET Identity与您自己的实现通信。
在我的理解Owin外部认证管道博客文章中有更多关于外部认证如何工作的细节。