我要做的是:创建受保护的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应用会话令牌访问私人端点?
答案 0 :(得分:0)
不幸的是,IBM Cloud App ID服务的当前版本的Server Swift SDK不支持API策略。 这意味着您无法保护单个REST API。您只能保护Web应用程序。