Thinktecture Identityserver和Cordova应用程序 - 我应该使用哪种流程?

时间:2015-02-10 13:26:25

标签: cordova oauth thinktecture-ident-server ws-federation

我们目前拥有identityserver v2(并为我们的网站提供ws-fed),现在我们想通过phonegap应用进行身份验证。怎么能实现呢?我知道ws-fed不是一个选项,所以对于oauth我们的选择是(我可能在这里错了):

  • Resorce owner flow
  • 隐含授权流程

我查看了资源所有者流here,但它看起来相当复杂,我可以找到很多文档(阅读:准备克隆的简单示例:-))

Implict流程我找到了一些示例here,但它似乎需要一个redirect_uri,我无法理解如何在应用上实现这一点。

我注意到在我的STS管理站点中,还有一个OpenID Connect选项,是否可以使用?

如果有人能指出我们正确的方向,我会很高兴吗?

感谢您的帮助

Larsi

我已经看到在v3中存在一些新的可能性(甚至可能是一个电话空白样本here),但不幸的是目前还没有计划升级到v3

1 个答案:

答案 0 :(得分:0)

使用openId connect with Implicit flow

是正确的
GET /authorize?
response_type=id_token%20token
&client_id=s6BhdRkqt3
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
&scope=openid%20profile
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj HTTP/1.1
Host: server.example.com

如果用户成功通过身份验证,他们将收到类似以下内容的回复

HTTP/1.1 302 Found
Location: https://client.example.org/cb#
access_token=SlAV32hkKG
&token_type=bearer
&id_token=eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso
&expires_in=3600
&state=af0ifjsldkj

许多openID连接库只解析响应并提取忽略重定向的相关值