mdi / discovery-sdk
MDI Discovery SDK
Requires
- php: >=5.4.0
- firebase/php-jwt: 2.1.0
- phpseclib/phpseclib: ^0.3.10
- psr/log: 1.0.0
Requires (Dev)
- phpunit/phpunit: 4.5.*
This package is not auto-updated.
Last update: 2016-08-31 13:53:35 UTC
README
PHP移动连接SDK。
用法
入门
这假设已经在 开发者门户 上创建了Mobile Connect应用程序。
查看PHP入门指南以开始。
应用程序密钥确保您从密钥注册中获得了以下内容
- 客户端ID
- 客户端密钥
- 重定向URI
密钥看起来像这样
Application : Test Application KeyName : My first key ClientId : d0d7ef3c-0807-4b0b-8354-22537dc21c40 Client secret : 6b527f6b-2df0-4104-a322-1704b690cd75 Scopes : profile email Redirects : http://example.com/auth/callback https:///auth/callback
配置
将此片段添加到您的项目中,并用密钥中的值替换
use Mdi\Ericsson\MobileConnectBase; $mobileConnect = new MobileConnectBase([ 'client_id' => <Your client ID>, 'client_secret' => <Your client secret>, 'redirect_uri' => <The redirect back to your site>, 'discovery_redirect_uri' <The redirect back to you site from the discovery service>, ]);
身份验证
能够对用户进行身份验证的前提是应用程序知道用户的承载网络。当您想要对用户进行身份验证时,请使用 getLoginUrl()
。这将创建一个指向Mobile Connect登录和注册URL的URL,或者如果用户尚未被发现到发现服务URL。
$mobileConnect->getLoginUrl([ 'scope' => 'profile email', 'acr_values' => 2, 'prompt' => '', ]);
发现服务
当发现服务识别了用户的承载网络时,它将用户重定向回您指定的 discovery_redirect_uri
。重定向URI将包含一个 hni
参数,该参数应在重定向请求中调用发现方法。此方法将确保发现数据存储到您的应用程序中。
$mobileConnect->discover([ 'hni' => isset($_GET['hni']) ? $_GET['hni'] : null, ]); // Redirect back to your login page
Mobile Connect登录 & 注册
用户将被重定向到OpenID Connect同意页面。在用户批准或拒绝您的应用程序后,将重定向回您在创建密钥时定义的重定向URI。在重定向请求中运行authorize()函数。
$mobileConnect->authorize();
此方法将在 $_REQUEST 对象中查找身份验证头,并处理回调到Mobile Connect,以将重定向中的OpenID Connect代码头和您的客户端密钥交换为访问令牌和刷新令牌。
API
使用此方法检查应用程序是否知道用户的承载网络。
$mobileConnect->isDiscovered();
如果想要检查用户是否已认证,请使用此方法。
$mobileConnect->isAuthenticated();
如果想要获取关于用户承载网络的信息,请使用此方法。
$mobileConnect->getDiscoveryData();
如果想要获取关于当前用户的信息,请使用此方法。
$mobileConnect->getUserinfo();
如果想要获取关于当前用户令牌的信息,请使用此方法。
$mobileConnect->getToken();
如果想要获取关于当前用户ID令牌的信息,请使用此方法。
$mobileConnect->getIdToken();
如果想要更新当前用户的令牌信息,请使用此方法。
$mobileConnect->refreshToken();
如果想要撤销当前用户对应用程序的访问权限,请使用此方法。
$mobileConnect->revokeToken();
许可证
版权所有 2015 爱立信AB
根据Apache许可证版本2.0(“许可证”)许可;除非根据适用法律或书面同意,否则不得使用此文件,除非遵守许可证。您可以在以下位置获得许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规定许可权限和限制,请参阅许可证。