magadanuhack/steam-socialite-providers

Laravel Socialite 的 Steam OpenID 提供器

1.1 2023-08-11 14:26 UTC

This package is auto-updated.

Last update: 2024-09-11 17:05:13 UTC


README

composer require socialiteproviders/steam

安装与基本使用

请参阅基本安装指南,然后按照以下特定提供器说明进行操作。

config/services.php 中添加配置

'steam' => [
  'client_id' => null,
  'client_secret' => env('STEAM_CLIENT_SECRET'),
  'redirect' => env('STEAM_REDIRECT_URI'),
  'allowed_hosts' => [
    'example.com',
  ]
],

allowed_hosts

设置此选项以防止授权域名欺骗。当用户从 Steam 登录页面返回时,除了 OpenID 验证外,返回_to 参数还会与 allowed_hosts 中的可用域名进行校验。

如果您未指定设置,则欺诈者有机会在其他用户下进入应用程序

SocialiteProviders/Providers#817 中解决问题

默认情况下,此保护是禁用的。它只有在允许的主机数不为空数组时才会激活。

添加提供器事件监听器

配置包的监听器以监听 SocialiteWasCalled 事件。

将事件添加到您的 app/Providers/EventServiceProvider 中的 listen[] 数组中。有关详细说明,请参阅基本安装指南

protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // ... other providers
        \SocialiteProviders\Steam\SteamExtendSocialite::class.'@handle',
    ],
];

使用方法

现在您应该能够像平时使用 Socialite 一样使用此提供器(假设您已安装 facade)

return Socialite::driver('steam')->redirect();

返回的用户字段

  • id
  • 昵称
  • 姓名
  • 头像