wilr / silverstripe-facebookconnect
Facebook Connect 集成到 SilverStripe
Requires
- facebook/php-sdk-v4: @stable
- silverstripe/framework: >=3.1
This package is auto-updated.
Last update: 2024-09-17 11:52:54 UTC
README
维护者联系方式
- Will Rossiter <will (at) fullscreen (dot) io>
需求
- SilverStripe 3.1
概述
此模块提供了一种在您的 SilverStripe 网站上实现 Facebook PHP SDK 的基本接口。Facebook SDK 允许用户使用他们的 Facebook 账户详细信息登录到您的网站,在现有的 SilverStripe 成员系统中创建单一登录。
它提供的内容
-
加载 Facebook PHP SDK。
-
提供 $FacebookLoginLink 模板变量以生成链接到 Facebook 登录。点击链接并返回您的应用程序后,SilverStripe
Member::currentUser()
将填充一个与用户 Facebook 配置文件链接的Member
实例。
<% with CurrentMember %>
$Name $Avatar(small)
<% end_with %>
安装
composer require "wilr/silverstripe-facebookconnect" "dev-master"
通过 SilverStripe Config API 设置配置。例如,我将我的配置保存在 mysite/_config/facebookconnect.yml
文件中
FacebookControllerExtension:
app_id: 'MyAppID'
api_secret: 'Secret'
运行 /dev/build
更新数据库,以向 Member
表添加附加字段,并在重新加载您的网站时确保您使用了 ?flush=1
。
<a href="$FacebookLoginLink">Login via Facebook</a>
您还可以在您的 PHP 代码中访问 Facebook PHP SDK。
// https://developers.facebook.com/docs/php/FacebookSession/4.0.0 $session = Controller::curr()->getFacebookSession();
有关通过 SDK 可以做什么的更多信息,请参阅
https://developers.facebook.com/docs/reference/php/4.0.0
选项
以下所有值都通过如下所示的 Config API 设置
Config::inst()->update('FacebookControllerExtension', '$option', '$value')
或(更推荐)通过 YAML API
FacebookControllerExtension: option: value
app_id
您的应用程序 ID。在 Facebook 开发者页面上找到。
api_secret
Facebook API 密钥。同样,在您的应用程序页面上。
create_member
可选,默认:true
是否在数据库中创建包含用户信息的 Member
记录。如果您禁用此功能,请确保您的代码使用 $CurrentFacebookMember 而不是 $Member。其他访问功能(如管理员访问)将无法工作。
member_groups
可选,默认 ''
要添加用户的组代码列表。例如,如果您希望通过 Facebook 加入的所有成员都添加到组 Facebook Members
,请设置以下内容
FacebookControllerExtension: member_groups: - facebook_members
permissions
可选,默认 'email'
您想要从用户处获取的权限代码列表。权限代码在 developers.facebook.com 上列出。
如果您需要 create_member
,请确保您的列表中包含电子邮件。
facebook_fields
默认 'email','first_name','last_name'
您想要从 Facebook 获取用户信息的字段列表。可用的字段在 developers.facebook.com 上列出。
如果您需要 create_member
,请确保您的列表中包含电子邮件。
sync_member_details
可选,默认 true
标记是否用来自 Facebook 的值(例如姓名)替换数据库中的用户信息。
许可
在 BSD-3-Clause 许可下发布。