manyhub/sso-client-php

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

v0.2.1 2019-01-11 09:41 UTC

This package is auto-updated.

Last update: 2024-09-12 04:27:30 UTC


README

此存储库允许所有Manymore合作伙伴通过SSO进行身份验证。

此组件完全独立,可以用于任何用PHP编写的项目。

通过 composer 安装此组件

php composer.phar require manyhub/sso-client-php

依赖关系

此组件至少需要PHP 5.6以及以下库

  • guzzlehttp/guzzle (用于HTTP通信)
  • monolog/monolog (用于日志管理)
  • symfony/console (如果要在控制台模式下进行测试)
  • paragonie/random_compat (用于生成OAuth的随机nonce)

使用方法

在控制台模式下测试

php bin/console manyhub:oauth:try <key> <secret> <login>

这三个参数是必需的

  • key : 分配给你的consumer_key
  • secret : 分配给你的secret_key
  • login : 要自动登录的用户登录名

其他参数是可选的,但也是可用的

  • --env=[prod|staging] : 默认 "prod"。要测试预生产环境,请使用 "staging"
  • --callback : 默认 "https://manymore.fr" 但您可以在此指定您的URL
  • --application=[prisme|nexus|risk] : 默认 "prisme",但根据用户类型,选择的应用程序可能不同
  • --crypto : 默认 "HMAC-SHA1",目前仅使用此方法
  • --crypto_version : 默认 "1.0",目前仅使用此版本

在PHP脚本中集成

对于在您的PHP脚本中集成,以下是一个示例

# monscript.php

require __DIR__ . '/vendor/autoload.php';

use GuzzleHttp\Client;
use Manyhub\SSO\Client\Component\Signer\Signer;
use Manyhub\SSO\Client\Component\SSOTokenClient;

$client = new SSOTokenClient(new Client(), new Signer());
$result = $client->tryAuth(
       'get',
       $urlSSO,
       $key,
       $secret,
       'HMAC-SHA1',
       '1.0',
       $callback,
       $login,
       $application
);

// Tout se trouve dans $result['redirect_url'] :
// echo $result['redirect_url'];
header('Location: ' . $result['redirect_url']);
exit();