Thinktecture Identityserver 和 Cordova 应用程序——我应该使用哪个流程?

Thinktecture Identityserver and Cordova app - Which flow should I use?

我们目前有 identityserver v2(以及用于我们网站的 ws-fed),现在我们想使用 phonegap 应用程序进行身份验证。如何实施?我知道 ws-fed 不是一个选项,所以对于 oauth 我们的选项是(我在这里可能是错的):

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

隐式流程我找到了一些示例 here,但它似乎需要一个 redirect_uri,我不明白如何在应用程序上实现它。

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

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

感谢您的帮助

拉尔西

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

你是正确的使用 openId 连接隐式流

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

A 如果用户成功通过身份验证,他们将收到如下响应

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 连接库只是解析响应并提取相关值重定向被忽略