Jon*_*erg 5 php api rest oauth-2.0 laravel-4
我正在尝试将OAuth2用于我正在创建的API,但可以使用一些解释流程如何工作.我发现了类似的问题(例如:使用OAuth保护我的REST API,同时仍然允许通过第三方OAuth提供商进行身份验证(使用DotNetOpenAuth))但是他们并没有明确第三方登录.
我不希望使用OpenID(但是,无论如何),特别是当通过委派进行身份验证可能正常工作时.它似乎过于复杂,并没有很多支持良好的库.(我正在使用PHP + Laravel 4)
问题分为4个(ish)实体:
我想我已经找到了用户在我的auth服务器上创建帐户并使用该帐户登录时的流程:
我还没有测试过工作流程,但这看起来似乎有效.但是,第三方登录已证明更加困难.这是我到目前为止所得到的:
这可能有用,但感觉非常复杂.当然必须有一种方法可以跳过这些步骤中的一些步骤?我对第8-10步特别感兴趣.据我所知,用户永远不必使用第三方登录与我的Auth服务器进行交互.问题是如何最好地将Google/Facebook/LinkedIn中成功的id_token(或其他内容)连接到我的API上的"帐户"资源.
现在,我并不担心任何其他客户端连接到API,但它会在未来的某个时间发生.
“据我所知,用户根本不需要使用第三方登录与我的身份验证服务器交互。” 这只是部分正确。理论上,您可以使用第三方登录的令牌作为您自己的令牌。所以正常的资源请求是:
这样做的缺点是,每次发出请求时,您的 API 服务器都必须与第 3 方服务器进行通信(无论是否需要来自第三方服务器的数据)。相反,当您生成自己的令牌时,您拥有更多控制权并且验证请求也更简单。
不过我会坚持你的工作流程。我曾经做过类似的事情,而且我的步骤几乎相同。当“计算”步骤时,你还必须考虑到,对于步骤 2-4,你基本上不需要做任何事情,因为 Google、Facebook 和 co 已经做得很好了;)