mdi/discovery-sdk

该包已被废弃,不再维护。未建议替代包。

MDI Discovery SDK

1.1.3 2016-07-07 14:05 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

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规定许可权限和限制,请参阅许可证。