php - 社交名流 (SSO) 登录后如何为我的 API 获取 Passport 访问/刷新令牌
问题描述
我很难将 Laravel 护照与 Laravel Socialite 结合起来。我有一个使用护照实现 OAuth2 的 API。API 由 SPA (Nuxt) 使用。SPA 使用密码授予流程使用电子邮件和密码进行“常规”登录。SPA 还提供通过 Google 或 Facebook 登录的选项。社交名流使用 google/facebook 处理登录流程,但我不知道如何在社交名流之后为我的 API 获取访问/刷新令牌。
我不能使用密码授权,因为这需要密码。我可以/应该使用哪种赠款以及出于什么原因?另外,如何在 google/facebook 回调中从我的 API 获取访问/刷新令牌到我的 SPA?SPA -> API 通信是直截了当的,但两种方式的通信需要事件广播(WebSockets)或某种解决方案。
为了澄清:
单点登录流程:
- 在 SPA 登录视图中,通过按钮打开 google/facebook 登录
- 在谷歌/脸书上登录
- 成功时重定向到 API
- 处理回调(获取访问/刷新令牌并将其发送到 SPA)。
解决方案
推荐阅读
- asp.net - 如何将路由映射到构建的 Web API 控制器以进行依赖注入
- python - Python3 int.__sizeof__() 产生语法错误
- google-apps-script - 为什么我的 footer.replaceText(searchPattern, replacement) 函数不起作用?
- java - Spring Cloud Gate 请求超时不适用于路径
- javascript - 需要帮助 jQuery 导航菜单
- c# - 结合列表日期时间
- android - 使用原始数据在正文中修改发布请求
- python - 如何保存 Tensorflow LinearClassifier 模型并将其转换为兼容 Tensorflow.js
- javascript - 为什么我的内部循环在第一次之后被跳过?
- error-handling - Snowflake - 处理错误时出错:String... is too long and will be truncated error