此软件包最新版本(v0.0.10)没有可用的许可证信息。

Vendasta SSO PHP库

v0.0.10 2018-05-08 23:06 UTC

This package is auto-updated.

Last update: 2024-09-15 04:47:22 UTC


README

描述

这是Vendasta官方的PHP SDK,用于集成SSO。通过此SDK提供身份提供者和服务提供者接口。

要求

安装

安装上述要求,然后

composer require vendasta/sso

身份验证

要验证您的SDK调用,您必须从Vendasta平台内部配置一个服务帐户。

此功能目前处于alpha阶段,因此您的服务帐户凭据文件将手动提供给您。

您必须将此文件放在您的服务器上,并设置一个环境变量指向其路径

export VENDASTA_APPLICATION_CREDENTIALS=<path to credentials.json>

客户端初始化

强烈建议您使用单例客户端实例。每个客户端初始化都将打开自己的连接,因此使用单例将导致重用连接,节省时间和资源。

要实例化客户端

// Uncomment to use the sandbox environment, as setup for you by Vendasta
// $hostname = 'sso-api-demo.vendasta-internal.com';
// $scope = 'https://sso-api-demo.vendasta-internal.com';

// Production
$hostname = 'sso-api-prod.vendasta-internal.com';
$scope = 'https://sso-api-prod.vendasta-internal.com';

// Reuse this instance for all of your SDK calls
$client = new Vendasta\Sso\V1\IdentityProviderClient($hostname, $scope); // For Identity Providers
// $client = new Vendasta\Sso\V1\ServiceProviderClient($hostname, $scope); // For Service Providers

下一步

到此为止,您的使用取决于您是作为身份提供者还是服务提供者使用此SDK。身份提供者是替换Vendasta登录屏幕的应用程序,并提供了用户的身份验证。服务提供者是提供用户功能的应用程序,例如 Marketplace 应用程序。

身份提供者

作为身份提供者,此SDK中的函数提供方便登录/登出SSO流程。

有关更多信息,请参阅 Vendasta\Sso\V1\IdentityProviderClient 中的函数。

服务提供者

作为服务提供者,此SDK中的函数提供从身份提供者启动会话转移的功能,这被称为 服务提供者启动的SSO

服务提供者功能尚未在此SDK中实现。如果您是服务提供者并想使用此SDK,请与服务代表联系以添加此功能。.

理解服务提供者ID和服务上下文

由Vendasta分配的 服务提供者ID,它仅是描述服务的唯一标识符。例如,RM 是分配给声誉管理的服务提供者ID。Marketplace应用程序通常具有以 MP- 开头的服务提供者ID。待办事项:向此RPC添加一个函数以列出服务提供者ID。

服务上下文稍微难以解释,但概念很简单——服务上下文描述了用户通过SSO过程尝试访问的资源。资源可以是帐户(业务)、合作伙伴(通常表示与单个帐户无关的屏幕,如用户资料屏幕)或其他几个。除非您的SSO配置仅针对即时身份和访问管理,否则您通常不需要关注服务上下文——访问检查将在SSO过程完成后进行,您只需传递上下文即可。

但是,如果您正在使用JiT IAM,您 必须 解析服务上下文并在SSO流程中作为访问检查的一部分。

待办事项:链接到一篇更深入的关于服务上下文指令的文章。

开发笔记

测试

要运行集成测试套件,您必须首先设置您的凭证环境变量,然后您可以直接从vendor文件夹中运行phpunit。

export VENDASTA_APPLICATION_CREDENTIALS=<path to credentials.json>
./vendor/bin/phpunit --bootstrap vendor/autoload.php test