我还是不太懂基于声明的身份验证/授权工作流程。
该应用程序允许通过Facebook.com进行身份验证。
用户经过身份验证后,管理员可以授予其拥有经理角色的声明,从而创建另一个声明(在哪里?)
当然,这个声明不会在facebook.com服务器上,问题1:应该将该声明存储在哪里?
当用户以后再次登录时,我会获取来自facebook.com的声明,还应该获取来自应用程序的声明,然后合并它们吗?
工作流程是怎样的?试图了解声明的实际使用。
基本上,Facebook告诉我我是john@doe.com,'填空'添加了一个声明,说我也是domain.com的经理
然后我把这些声明传给domain.com?
我应该如何在asp.net中配置应用程序以信任Facebook和'填空',并从两者都请求声明?
我想我正在使用外部提供程序进行身份验证,而使用自己的提供程序进行授权,这在ASP.NET(Web API / MVC)上如何创建?
更新(为了澄清)
让我们倒退一下。我创建了一个Web应用程序,用户可以注册。 '某种方式'在某个受信任的基于声明的机构(这应该是另一个应用程序?)中,我请求特定用户的声明,以查看其是否具有对我的应用程序的特定权限。
所以我想象一些东西:
/authserver/claims
我的验证会检查是否满足X声明以执行某些操作。
后来我添加到Facebook。现在我有
/facebook/claims
其中告诉我用户是X 和
/authserver/claims,以查看是否可以对资源Y执行操作X。
在ASP.NET上如何管理此类情况?我的自己的声明应该在哪里创建/公开/开发。
我想我在这里缺少一些基本的东西。