我需要构建一个带有Web API 2应用程序的MVC 5,它将使用Single Sign On来验证Azure AD用户(域用户名和密码)以及使用成员身份(身份)用户名和密码或facebook,microsoft,gmail等的外部用户 .
我知道如何使用用户名和密码facebook,google或microsoft帐户进行会员身份(身份),但我坚持使用Azure AD用户的单点登录...如何将所有这些组合到我的项目中?
另一件事是WEB API使用Bearer令牌进行身份验证,因此应该牢记这一点 .
编辑:
所以基本上应用程序是:
-
内部使用(Intranet)身份验证应使用AD用户名和密码进行SSO
-
在互联网上使用身份验证是使用用户名和密码或谷歌,Facebook,微软帐户完成的 .
2 回答
你会想要使用ADAL . 你可以在Vittorio Bertocci's blog上阅读所有相关内容 .
在调用受保护资源时,ADAL对于获取AccessTokens很有用 . Katana支持从FB,Google,AzureAD(使用OpenIdConnect或WsFed)以及支持OIDC或WsFed的任何其他联盟提供程序进行签名 .
Katana在这里:http://katanaproject.codeplex.com/
这里有很多样品:https://github.com/AzureADSamples