Asp.没有实体框架的Net own身份验证

本文关键字:Net own 身份验证 框架 实体 Asp | 更新日期: 2023-09-27 18:16:32

我有一个现有的网站与60万+用户,我选择的数据库是RavenDb (NoSql)。

我目前使用Owin身份验证的一个简单形式登录用户只需调用我的登录控制器:

            var identity = new ClaimsIdentity(new[] {
                            new Claim(ClaimTypes.Sid, user.Id), 
                            new Claim(ClaimTypes.Email, viewModel.EMail),
                            new Claim(ClaimTypes.NameIdentifier, user.ArtistName) 
                        },
                        DefaultAuthenticationTypes.ApplicationCookie,
                        ClaimTypes.Sid, ClaimTypes.Role);
            Authentication.SignIn(new AuthenticationProperties
            {
                IsPersistent = viewModel.RememberMe
            }, identity);

现在我想让我的用户登录与外部提供商,如facebook,谷歌等,但我不想使用UserManager抽象,如果我不需要。

我需要使用的最小值是多少才能使它工作?我想我需要编写ExternalLoginCallback代码等,但在这一点上我实际需要/不需要的东西很困惑。

Asp.没有实体框架的Net own身份验证

您必须实现外部提供者向其发送POST请求的返回端点,然后在您确定您信任POST参数中的声明之后,执行与您在原始登录中所做的相同的操作。

提供的实现有像/signing -google这样的方法作为返回url,提供者使用POST参数(如SecureAuthenticationToken)对其进行POST操作,您必须解析然后信任(或不信任)。在不返回文档的情况下,根据外部提供程序和协议,这是json (JWT)或sample格式。