montross50/passport-consumer

用于消费 Laravel passport,处理 OAuth 端点,并将远程用户映射到本地的库

1.0.4 2018-02-28 20:23 UTC

This package is auto-updated.

Last update: 2024-09-12 04:26:52 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

此包允许您使用密码授权流程或授权码授权流程消费 Laravel passport 本地或远程。目标是让您专注于您的应用程序,并将 OAuth 交给 passport,以及将 OAuth 的消费交给此包。

安装

composer require montross50/passport-consumer

环境配置

发布配置文件

php artisan vendor:publish --provider="Montross50\PassportConsumer\PassportConsumerServiceProvider" --tag=config

有很多配置选项。可能太多了。除了定义必要的环境变量外,该包应默认与 Laravel 安装一起工作。请注意以下主要配置选项

  • enable_pg
    • 如果设置为 true,则加载密码授权路由。
  • enable_access
    • 如果设置为 true,则加载授权码路由。
  • passport_location
    • 如果设置为 local,则假定给定的应用程序是安装了 passport 的应用程序。如果不是,则期望此值为您的 passport 服务器 URL。
  • log_user_in
    • 如果设置为 true,则会发生以下操作
      • 从 user_endpoint 获取用户
      • 如果远程 passport
        • 为远程用户查找本地用户
        • 如果没有找到,则使用默认值和数据从远程创建本地用户
      • 使用 session guard 登录用户
      • access_token 和 refresh_token 将在会话中。

所需环境变量

  • PC_PASSPORT_SECRET_PG
    • 您密码授权客户端的 passport 密钥
  • PC_PASSPORT_SECRET_ACCESS
    • 您授权码客户端的 passport 密钥
  • PC_PASSPORT_ID_PG
    • 您密码授权客户端的 passport 客户端 ID
  • PC_PASSPORT_ID_ACCESS
    • 您授权码客户端的 passport 客户端 ID

用户模型

如果您正在使用远程 passport 安装,请将 Montross50\PassportConsumer\HasRemoteTokens 特性添加到您的 Users 模型中。

log_user_in 功能会在找不到本地用户时创建与远程用户配对的用户。默认值和字段在特性中定义,如果需要为新用户添加更多默认值,则必须重写。

运行迁移

此包将 api_token 和可配置的 remote_user_id 字段添加到您的 users 模型中。仅当您已将包配置为远程 passport 时才会发生此操作。

php artisan migrate

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

安全

如果您发现任何与安全相关的问题,请通过电子邮件 sch43228@gmail.com 而不是使用问题跟踪器。

鸣谢

  • Trent Schmidt

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件