如何将App ID移动(iOS)SDK与Kitura Web应用程序连接?

时间:2018-01-07 21:06:36

标签: ibm-cloud kitura ibm-appid

我要做的是:创建受保护的Kitura端点,并使用App ID从iOS应用访问它。

我设法在Kitura服务器上配置App ID,以便我可以登录然后成功访问受保护的端点。

我可以使用与Kitura服务器相同的TenantId登录iOS演示应用程序并获取令牌。也就是说,我可以成功登录,但是当我使用原始身份验证令牌时,我无法从iOS应用程序访问服务器上的受保护端点。

我试过,使用邮递员将标题设置为:

  

授权= [sessionToken]

我试过了:

  

授权=承载[sessionToken]

我在获得令牌后在演示应用中试过这个:

BMSClient.sharedInstance.initialize(bluemixRegion: AppID.REGION_UK)
BMSClient.sharedInstance.authorizationManager = AppIDAuthorizationManager(appid:AppID.sharedInstance)
var request:Request =  Request(url: "<your protected resource url>")
request.send(completionHandler: {(response:Response?, error:Error?) in
    //code handling the response here
})

希望我可能在Postman中设置了令牌错误,它会做出正确的请求。

但无论我做什么,每当我从iOS应用程序请求受保护的API时,我都会得到登录HTML作为回应。

我错过了什么?为什么我无法使用iOS应用会话令牌访问私人端点?

1 个答案:

答案 0 :(得分:0)

不幸的是,IBM Cloud App ID服务的当前版本的Server Swift SDK不支持API策略。 这意味着您无法保护单个REST API。您只能保护Web应用程序。