我正在使用https://github.com/FrankHassanabad/Oauth2orizeRecipes为cordova移动应用程序创建身份验证服务器。
过去几天我已经阅读了很多关于OAuth2的内容,并且通过Frank Hassanabad在那里做了很多次,我尝试为我的应用程序建立一个工作流程。
但是,唉,我放弃并问你们,因为我好像被卡住了。
我的主要想法是我希望每个客户端(从X Store下载的APP)在auth服务器上创建一个新客户端。据我所知,这是正确的。
我们有两种工作流程:
1。新帐户
在应用程序中我正在访问服务器的新帐户页面并创建一个新帐户,在此阶段我必须在服务器上创建一个新接受的客户端,该应用程序将自动执行当我们访问新帐户页面时创建,并且使用postMessage将应用程序的详细信息推送到服务器iframe之外,以便我们将它们保存在我的应用程序中。
从现在开始,当/如果某些内容过期且没有给出刷新令牌,用户可以通过创建一个如此处所述的身份验证字符串https://github.com/FrankHassanabad/Oauth2orizeRecipes/wiki/Resource-Owner-Password-Credentials再次登录,当与用户和密码结合使用时,将返回我们一个有效的令牌和一个刷新令牌。
一切都很好,花花公子,在客户端我计算令牌过期的时间,如果用户在令牌过期后访问了应用程序,我们将发送刷新令牌以获得新的。
2。从其他设备登录
这是我在黑暗中的地方,我不得不考虑/思考这个工作流程,对于access / auth我们需要一组clientID和clientSecret,但是我们没有那些,所以用户可以使用自己的帐户登录。
我真的输了:)
所有这一切的目的是让用户拥有一个管理选项卡,在那里他可以看到哪些设备/客户端访问了该应用程序并具有撤销权限。
我开始质疑身份验证模型本身是不是很好:),想到这么多我意识到这是一个声音工作流程,有一个服务器端应用程序,你可以访问那里,并在那里你拥有管理,从那里你可以允许将生成的clientID和秘密的新设备复制到你想要登录的OTHER设备中。
总模糊