Azure ACS和SimpleMembership
我想使用以下内容创建azure mvc4网站(azurewebsites):Azure ACS和SimpleMembership,azure,asp.net-mvc-4,single-sign-on,acs,Azure,Asp.net Mvc 4,Single Sign On,Acs,我想使用以下内容创建azure mvc4网站(azurewebsites): 公司领域内员工的SSO(已与ACS联合发布的ADF) 通过本地帐户或LiveID OAuth(LiveID是ACS上的IdP)访问外部(非员工) 需求是管理应用程序中的用户配置文件和角色 我看到以下选项: 将我的应用程序与ACS联合,并使用联合身份验证,为用户配置文件和成员身份创建自定义表集等,在这种方法中,我无法使用任何现有的提供者。我在索赔中没有必要的信息 为ACS编写自定义OAuth/OAuth2客户端(我找
- 公司领域内员工的SSO(已与ACS联合发布的ADF)
- 通过本地帐户或LiveID OAuth(LiveID是ACS上的IdP)访问外部(非员工)
- 需求是管理应用程序中的用户配置文件和角色
Maciej我会选择方法1。因为—— a) 您无论如何都需要ws-fed来合并adf b) ACS没有OAuth客户端-ACS只支持OAuth的一些特殊用例(这就是为什么您没有找到它的客户端)
您希望完全控制您的数据库,而不是使用魔术/半生不熟(取决于您的观点)简单的成员身份信息…ASP.NET中有一个OAUTH2客户机框架,我为其编写了一个ACS提供程序。web应用程序加载OAUTH2提供程序,该提供程序是OAUTH2端点的外观。事实上,它将ws-fedp与ACS(及其各种发行人)进行谈判。由于oauth协议或ws-fedp协议都隐藏在提供程序中,因此API使用者(ASP.NET管道)不知道(或不关心)。毕竟,它已经不在乎它是在同一个API后面谈论OAUTH1、OAUTH2还是openid了
它非常有效,并且可以毫无顾忌地重用simplemembership。在web窗体、网页和MVC中工作。后两个是开源的,其源代码访问有助于了解全局。我们最近实现了一个类似问题的解决方案。我们所做的是:
- 使用ACS和身份提供者(Windows Live、Google等)作为身份令牌
- 使用我们自己的机制将这些身份映射到用户/角色。例如,我们在第一次登录时使用工资单数据来验证针对员工的索赔
- 对于那些不想使用社交媒体身份的用户,我们允许他们在通过ACS链接的“自己的”身份提供商上创建用户名/密码。这是一个单独的服务,运行的是的修改版本。因此,我们使用thinktecture身份服务作为STS端点
- 我们将对联邦ADF执行相同的操作(正如您所做的那样)
你想从简单记忆中得到什么?用户名/密码登录(在这种情况下使用/host/build用户名/密码STS端点)或成员资格/角色表(无论如何都不是很好)。?Hi,如果我选择使用ACS的LiveID进行外部登录,这将很好,但是如果我想创建本地帐户呢?我看到的唯一选项是ACS的Oauth。我发现了这个:,但我还没有机会尝试。如果使用acs fedauth,如何将联邦用户映射到本地数据库?acs不支持MVC模板(DotNetOpenAuth)中使用的OAuth“类型”。但您可以简单地进行自己的映射。ACS返回一些id,您将其映射到数据库中的一个用户。是的,它没有。提到的博客帖子和我的问题帖子的2.方法有关,不管怎样:如果我想使用本地帐户为本地用户创建externals+ACS,该怎么办?正如我所说的,您可以自己创建映射。我更喜欢写我自己的逻辑。您可以完全控制身份验证、声明和本地数据库。感谢您的回复,但我仍然不知道如何使用表单auth(用于外部)miv Fed auth(用于本地)。。