robertdrakedennis/socialiteproviders-steam

Laravel Socialite 的 Steam OpenID 提供者

4.2.0 2022-03-28 22:38 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:32 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
  • nickname
  • name
  • avatar