laravel - 流明名媛授权流程
问题描述
信息
我正在寻找一些关于在 Lumen 项目中使用 Socialite 包的说明。我想使用 OAuth2,以便用户可以在我们的应用程序上使用他们的 Google、Facebook 或其他社交帐户进行身份验证。
据我了解,Socialite 重定向到所选提供商的页面,请求用户许可并使用经过身份验证的用户对象返回应用程序。我使用 Laravel 应用程序进行了基本设置,这一切都很好。
问题
我有一个身份验证 API(基于流明),用于验证用户凭据。这只是一个后端服务。实际的用户凭据是从不同的前端(应用程序)接收的。前端是否需要实现 OAuth2 / Socialite 并将社交用户详细信息发送到我的授权 API 或者 API 是否可以安排整个 OAuth2 流程?
如果整个流程由 API 安排,我不太明白重定向应该如何进行?社交名流中有一个 stateless() 选项,我发现了一些在 Lumen 中使用社交名流的信息,但是我没有得到整个重定向/身份验证流程。
选项
如果这个选项是可能的,想听听用户的意见,希望我的问题很清楚。:)
解决方案
只是为了更新我自己的问题;
经过一番研究,我发现流程是这样的:
-> 前端处理用户请求,由 Oauth2 向特定提供者授权。(我们被重定向到提供商的页面,询问是否允许此应用程序)。这可以通过社交名流(在 Laravel 的情况下)或任何其他特定框架的包来完成。
-> 前端收到访问令牌并发送到我们的 Lumen 后端服务。在这里,我们可以再次使用 Socialite 来获取此访问令牌的用户详细信息。然后可以使用用户详细信息来创建新用户或将社交登录附加到现有用户。当访问令牌有效并且在现有用户中创建或找到用户时,用户可以在应用程序中继续。
希望将来能帮助有同样问题的人:)
推荐阅读
- java - SendKeys not sending values to my form on Chrome Browser
- http - Dart 中请求之间的持久化参数
- node.js - 如何使用 mailparser npm 模块解析 node.js 中的电子邮件附件?
- c++ - 将我的 DLL 使用的辅助文件放在哪里有良好的做法
- python - 添加新列,每行作为另一列的前一个组值
- javascript - 有承诺的用户 Apollo GraphQL
- excel - Excel VBA - 以多种形式访问同一个类
- android - 如何在类似于 pCloudy for Android 的 iOS 应用程序中测试电池消耗和帧渲染?
- python - TypeError:('关键字参数不理解:','子样本')
- python - 使用仅对角线数据的表中的值创建一行