MDISDK 1.0.3

MDISDK 1.0.3

测试已测试
Lang语言 Obj-CObjective C
许可证 Apache 2
发布上次发布2016年2月

Jose Camallonga维护。



MDISDK 1.0.3

  • Ericsson AB

MDI SDK

iOS的MDI SDK。

使用

入门

这假设在开发者门户上已经创建了一个Mobile Connect应用程序。

查看iOS入门指南以开始使用。

应用程序密钥

请确保您从密钥注册中有了以下内容:

  • 客户端ID
  • 客户端密钥
  • 重定向URI

该密钥看起来可能如下:

Application   : Test Application
KeyName       : My first key
ClientId      : 78581d15b05ea263acccb545f683459f
Client secret : eaf7c1273bab7d0415b6d8e3e8af0242
Platform      : ios

BundleId      : com.ericsson.testapp
URL Scheme:
  etalio78581d15b05ea263acccb545f683459f

配置

将此代码片段添加到您的项目中,并替换密钥中的值

#import <MDISDK/MDISDK.h>

[[MDIMobileConnectBase manager] setupWithClientId:ClientId clientSecret:ClientSecret scheme:URLScheme];

// Or if you need to provide a discovery URL:

[[MDIMobileConnectBase manager] setupWithClientId:ClientId clientSecret:ClientSecret scheme:URLScheme discoveryUrl:DiscoveryURL];

您还需要在此代理中添加此代码片段,以便SDK可以处理来自浏览器的重定向

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [[MDIMobileConnectBase manager] handleCallback:url];
}

请记住在您的Info.plist文件中添加您的URL Scheme。您可以在示例项目中查看如何操作。


认证

能够认证用户的前提是应用程序知道用户的服务网络。当您想认证用户时,请使用loginWithScopes。如果用户尚未被发现,这将启动发现过程或登录过程。

[[MDIMobileConnectBase manager] loginWithScopes:@[@"openid", @"profile", @"offline_access"];
                                       acrValue:@"3"
                                      loginHint:nil
                                         prompt:nil
                                            hni:nil
                              completionHandler:^(NSError *error) {
}];

Mobile Connect登录和注册

用户将被重定向到Mobile Connect OAuth2同意页面。用户批准或拒绝您的应用程序后,会重定向回创建密钥时定义的重定向URI。登录完成后,调用authorize函数。

- (void)authorizeWithCompletionHandler:(MDITokenBlock)completionHandler;

此方法将在请求对象中查找身份验证头,并处理重定向回Mobile Connect的回调,以便将重定向中的OAuth2代码头和您的客户端密钥交换为访问令牌和刷新令牌。

API

如果想要获取当前用户的信息,请使用此方法。

- (void)userinfoWithCompletionHandler:(MDIDictionaryBlock)completionHandler;

如果想要获取当前用户的令牌信息,请使用这些方法。

- (MDIToken *)token;
- (NSDictionary *)idToken;

如果想要撤销当前用户对应用程序的访问权限,请使用此方法。

- (void)revokeTokenWithCompletionHandler:(MDIErrorBlock)completionHandler;

如果想要检查用户是否已认证,请使用此方法。

- (BOOL)isAuthenticated;

如果想要获取用户的服务网络信息,请使用此方法。

- (MDIDiscoveryData *)discoveryData;

许可证

版权所有 2015 爱立信公司

本软件受Apache许可证第2.0版(以下简称“许可证”)授权;除非按照许可证的规定使用,否则不得使用本文件。可以在以下地址获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律规定或书面约定,否则按照许可证分发软件时,软件按“现状”分发,不提供任何形式的明示或暗示保证。有关许可证的限制和权限的具体语言,请参阅许可证。