【发布时间】:2016-06-18 16:44:29
【问题描述】:
我正在保护一个仅支持 Rails api 的应用程序,我想通过 OAuth2(密码流)和Doorkeeper 来保护。忽略我找不到关于如何做到这一点的足够清晰的文档这一事实,我想到的用例是在多个设备/平台(例如 Android、iOS、浏览器)上有多个客户端并且它们都需要一个用户登录。我希望能够为每个新登录发布一个新的 (access_token, refresh_token) 对,并且它们都应该识别创建该对的用户。也就是说,如果 Alice 通过 Android 和 iOS 登录,Bob 通过两个浏览器登录,我想要一个记录如
| user_id | access_token | refresh_token | client_id |
|---------|--------------|---------------|------------------|
| Alice | a6d7f82h3hf | d8f6g8d0e3 | Android-h3j4k5l6 |
| Alice | 3j4k5j3l5k3 | 1hnrbtj5kc | iOS-j2k35h3n |
| Bob | 513lkhbjkf3 | rhj2345bvj | web-43nfm23 |
| Bob | nbv234nbv65 | cbv124cr64 | web-gc62jh4 |
(数据完全组成)。有人可以提供一个直接的答案,并可能将我指向与此相关的文档、指南、教程吗?我知道我可以推出自己的身份验证系统来实现这个特定的用例,而且我过去也这样做过,但是有了这个,我希望 OAuth2 的灵活性能够在未来得到改进。
【问题讨论】:
标签: ruby-on-rails asp.net-web-api oauth2 doorkeeper