iOS的MDI SDK。
这假设在开发者门户上已经创建了一个Mobile Connect应用程序。
查看iOS入门指南以开始使用。
请确保您从密钥注册中有了以下内容:
该密钥看起来可能如下:
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代码头和您的客户端密钥交换为访问令牌和刷新令牌。
如果想要获取当前用户的信息,请使用此方法。
- (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
除非适用法律规定或书面约定,否则按照许可证分发软件时,软件按“现状”分发,不提供任何形式的明示或暗示保证。有关许可证的限制和权限的具体语言,请参阅许可证。