a2nt/silverstripe-vkconnect

将VK Connect集成到SilverStripe

安装: 9

依赖: 0

建议者: 0

安全: 0

星级: 0

关注者: 3

分支: 0

开放问题: 0

类型:silverstripe-module

dev-master 2017-08-15 18:26 UTC

This package is auto-updated.

Last update: 2024-09-07 13:33:31 UTC


README

维护者联系方式

要求

  • 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可以做什么的更多信息,请参阅

https://vk.com/dev/manuals

选项

以下所有值都通过以下方式设置

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许可证下发布。