Tag: asp.net authentication

ASP.NET标识“基于角色”的声明

我知道我可以使用声明来声明用户: var claims = new List(); claims.Add(new Claim(ClaimTypes.Name, “Peter”)); claims.Add(new Claim(ClaimTypes.Email, “peter@domain.com”)); 但是,我应该如何存储“基于角色”的声明? 例如: 用户是超级管理员。 claims.Add(new Claim(“IsSuperAdmin, “true”)); 值参数“true”感觉完全冗余。 如何使用索赔表达此陈述?

丰富的Twitter数字/谷歌Auth与OpenIdDictServer

我们的应用需要通过手机号码或Google登录。 我们计划通过Twitter数字进行手机号码validation。 我理解的注册和认证流程如下: 移动应用程序使用Twitter数字或Google登录进行丰富的身份validation(用户可以使用丰富的身份validation而不是打开网络浏览器选项卡获得更好的用户体验)。 Twitter Digits / Google Sign In返回身份令牌。 移动应用程序将AuthServer调用到SignIn并显示身份令牌。 身份服务器使用Digits服务或Google Auth服务validation所呈现的身份令牌。 一旦validation,AuthServer将尝试找到用户,如果不存在,它将创建一个。 AuthServer将Access Token返回给移动应用程序。 现在,我正在寻找实施步骤#3-4的选项。 目前,我所做的是修改令牌端点代码,该代码将用户名作为电话号码或电子邮件地址和密码作为Google / Twitter数字ID令牌发送。 现在,由于auth服务器需要知道发送的密码实际上是需要通过第三方服务validation的令牌,我通过在TokenHint中发送服务名称“Digits”或“Google”来解决它。 这非常有效,但我想知道什么是最干净的方式来支持我想要实现的目标。