我正在开发一个使用 MS Azure 访问控制服务进行身份验证的 REST 服务。如果这些示例有任何指示,那么以这种方式保护 REST 服务的典型方法是为受保护的服务提供全局用户名和密码、私钥或 X.509 证书。但是,我想在移动设备上使用类似于以下流程的被动用户登录机制:
- 未经身份验证的用户尝试从应用程序访问受保护的服务
- 移动应用重定向到浏览器应用(或嵌入式浏览器)
- 用户从 ACS 登录页面选择用于登录的身份提供商(facebook、google 等)
- 用户输入身份提供者的凭据
- 浏览器重定向回应用程序
- 应用程序以某种方式获取 SWT 令牌以用于后续 REST 请求。
我被困在第 5 步——获取 SWT 令牌,而我发现的现有示例似乎并没有解决这种情况。此外,我实际上正在尝试使用 WPF 中的桌面客户端构建概念验证,这可能会使事情复杂化。任何人都可以建议使用每用户身份验证与每服务的特定教程或追求路径吗?谢谢。
编辑: 随着我深入研究,我意识到下面发布的示例(以及大多数其他示例)基于 OAuth WRAP,它已被弃用,取而代之的是 OAuth 2.0。任何人都可以建议更新的参考吗?谷歌搜索出现了http://blogs.msdn.com/b/adventurousidentity/archive/2011/09/18/acs-v2-oauth-2-0-delegation-support-explained.aspx和http://connect。 microsoft.com/site1168/Downloads/DownloadDetails.aspx ?DownloadID=32719但它们不是最直观的。