信息
我正在寻找在Lumen项目中使用Socialite软件包的一些说明。我想使用OAuth2,以便用户可以通过我们的应用程序上的Google,Facebook或其他社交帐户进行身份验证。
据我所知,Socialite重定向到所选提供者的页面,请求用户许可并使用已验证的用户对象返回到应用程序。我使用Laravel应用程序进行了基本设置,并且一切正常。
问题
我有一个身份验证API(基于流明),用于验证用户凭据。这只是一个后端服务。实际的用户凭据是从不同的前端(应用程序)接收的。前端是否需要实现OAuth2 / Socialite并将社交用户详细信息发送到我的授权API,或者该API可以安排整个OAuth2流程?
如果整个流程是由API安排的,我不太了解如何进行重定向?在社交名流中有一个stateless()选项可用,我发现流明中使用了社交名流的一些信息,但后来我没有得到完整的重定向/身份验证流程。
选项
就像可以听到用户的声音一样,希望我的问题清楚。 :)
答案 0 :(得分:0)
只需更新我自己的问题即可
经过研究,我发现流程是这样的:
->前端处理要由Oauth2授权给特定提供者的用户请求。 (我们将重定向到提供程序的页面,询问该应用程序的权限)。这可以通过社交名流(在Laravel的情况下)或针对特定框架的任何其他软件包来完成。
->前端接收访问令牌并将其发送到我们的Lumen后端服务。在这里,我们可以再次使用Socialite获取此访问令牌的用户详细信息。然后,用户详细信息可用于创建新用户或将社交登录名附加到现有用户。当访问令牌有效并且在现有用户中创建或找到用户时,该用户可以在应用程序中继续。
希望以后能通过同样的问题帮助某人:)