yumemi-inc/google-iap-laravel

用于Laravel的认证保护器,用于验证来自Google IAP(身份感知代理)的请求。

v1.3.1 2024-03-13 02:24 UTC

README

php

警告
这不是YUMEMI Inc.的官方产品。

用于Laravel的认证保护器,用于验证来自Google IAP(身份感知代理)的请求。

先决条件

  • PHP 8.1或更高版本
    • ext-gmp用于JWT验证
  • Laravel 9、10或11(开发版)

入门指南

  1. 将此包作为依赖项要求。

    composer require yumemi-inc/google-iap-laravel
  2. 根据需要实现GoogleUserResolver

    <?php // app/Security/AppGoogleUserResolver.php (new)
    
    use Illuminate\Contracts\Auth\Authenticatable;
    use Illuminate\Contracts\Auth\UserProvider;
    use YumemiInc\GoogleIapLaravel\Claims;
    use YumemiInc\GoogleIapLaravel\GoogleUserResolver;
    
    class AppGoogleUserResolver implements GoogleUserResolver
    {
        public function provide(Claims $claims, UserProvider $userProvider): ?Authenticatable
        {
            return $userProvider->retrieveByCredentials([
                'google_user_id' => $claims->id(),
            ]);
        }
    }
  3. 将用户解析器注册为服务。

    <?php // app/Providers/AppServiceProvider.php
    
    use YumemiInc\GoogleIapLaravel\GoogleUserResolver;
    
    public function register(): void
    {
        $this->app->bind(GoogleUserProvider::class, AppGoogleUserProvider::class);
    }
  4. 使用本包提供的保护器。

    <?php // config/auth.php
    
    'guards' => [
        'google-iap' => [
             'driver' => 'google-iap',
             'provider' => 'users',
         ],
    ]