robertdrakedennis / 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 中解决
默认情况下,此保护功能是禁用的。只有当允许的主机不等于空数组时,它才会生效。
添加提供者事件监听器
配置包的监听器以监听 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