a2nt / silverstripe-vkconnect
将VK Connect集成到SilverStripe
Requires
- getjump/vk: master
- silverstripe/framework: 4.*
This package is auto-updated.
Last update: 2024-09-07 13:33:31 UTC
README
维护者联系方式
- Anton Fedianin <tony (at) twma (dot) pro> https://twma.pro
要求
- SilverStripe 3.2
概述
本模块提供了一种基本接口,用于在SilverStripe网站上实现Vk PHP SDK。Vk SDK允许用户使用他们的Vk账户详情登录到您的网站,在现有的SilverStripe成员系统中创建单点登录。
它提供的内容
-
加载VK PHP SDK。
-
提供$VkLoginLink模板变量以生成登录到VK.com的链接。点击链接并被重定向回您的应用程序后,SilverStripe
Member::currentUser()
将填充与用户VK资料相关联的Member
实例。
<% with CurrentMember %>
$Name $Avatar(small)
<% end_with %>
安装
composer require "a2nt/silverstripe-vkconnect" "dev-master"
在VK上注册您的网站/应用程序注册您的网站/应用程序。
通过SilverStripe Config API设置您的配置。例如,我把我配置保存在mysite/_config/vkconnect.yml
文件中
VkControllerExtension:
app_id: 'MyAppID'
api_secret: 'Secret'
通过运行/dev/build
更新数据库,以向Member
表添加附加字段,并在重新加载您的网站时确保您使用?flush=1
。
<a href="$VkLoginLink">Login via Vk</a>
您也可以在PHP代码中访问Vk PHP SDK。
// https://developers.Vk.com/docs/php/VkSession/4.0.0 $session = Controller::curr()->getVkSession();
有关通过SDK可以做什么的更多信息,请参阅
选项
以下所有值都通过以下方式设置
Config::inst()->update('VkControllerExtension', '$option', '$value')
或(更推荐)通过YAML API
VkControllerExtension: option: value
app_id
您的应用id。在Vk开发者页面找到。
api_secret
Vk API密钥。同样,来自您的应用程序页面。
create_member
可选,默认:true
是否在数据库中创建带有用户信息的Member
记录。如果您禁用此功能,请确保您的代码使用$CurrentVkMember而不是$Member。其他访问功能(如管理员访问)将不会工作。
member_groups
可选,默认 ''
要添加用户的组代码列表。例如,如果您想将所有通过Vk加入的成员添加到组Vk Members
,请设置以下内容
VkControllerExtension: member_groups: - Vk_members
permissions
可选,默认 'email'
您希望从用户那里获取的权限代码列表。权限代码在developers.Vk.com上列出。
如果您需要create_member
,请确保您列表中包含电子邮件。
Vk_fields
默认 'email','first_name','last_name'
您希望从Vk获取用户信息的字段列表。可在developers.Vk.com上找到可用的字段。
如果您需要create_member
,请确保您列表中包含电子邮件。
sync_member_details
可选,默认 true
标记为是否用Vk的值替换您数据库中的用户信息(如姓名)。
许可证
在BSD-3-Clause许可证下发布。