socialiteproviders / steam
Laravel Socialite 的 Steam OpenID 提供者
4.2.0
2022-03-28 22:38 UTC
Requires
- php: ^7.2 || ^8.0
- ext-json: *
- socialiteproviders/manager: ~4.0
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 中解决
默认情况下,此保护是禁用的。它只有在允许的主机不等于空数组时才会生效。
force_https
将此属性设置为在从 Steam OAuth 重定向时强制 HTTPS 方案。
如果您未设置它,则方案将从您的服务器设置中推断。
'steam' => [ 'client_id' => null, 'client_secret' => env('STEAM_CLIENT_SECRET'), 'redirect' => env('STEAM_REDIRECT_URI'), 'force_https' => true, // This will force HTTPS scheme 'allowed_hosts' => [ 'example.com', ] ],
添加提供者事件监听器
配置包的监听器以监听 SocialiteWasCalled
事件。
将事件添加到 app/Providers/EventServiceProvider
中的 listen[]
数组中。有关详细说明,请参阅基本安装指南。
protected $listen = [ \SocialiteProviders\Manager\SocialiteWasCalled::class => [ // ... other providers \SocialiteProviders\Steam\SteamExtendSocialite::class.'@handle', ], ];
用法
现在您应该可以使用此提供者,就像您通常会使用 Socialite 一样(假设您已安装了外观)
return Socialite::driver('steam')->redirect();
返回的用户字段
id
nickname
name
avatar