如何将 App ID 移动 (iOS) SDK 与 Kitura 网络应用程序连接?
How to connect App ID mobile (iOS) SDK with Kitura web app?
我正在尝试做的事情:创建受保护的 Kitura 端点并使用 App ID 从 iOS 应用访问它。
我成功地在 Kitura 服务器上配置了 App ID,以便我可以登录并成功访问受保护的端点。
我可以使用与 Kitura 服务器相同的 TenantId 登录到 iOS 演示应用程序并获取令牌。也就是说,我可以成功登录,但是当我使用原始身份验证令牌时,我无法从 iOS 应用程序访问服务器上受保护的端点。
我已经尝试过,使用 postman 将 header 设置为:
Authorization = [sessionToken]
我试过:
Authorization = Bearer [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 app session 令牌访问专用端点?
遗憾的是,IBM Cloud App ID 服务的服务器 Swift SDK 的当前版本不支持 API 策略。
这意味着您无法保护单个 REST API。您只能保护 Web 应用程序。
我正在尝试做的事情:创建受保护的 Kitura 端点并使用 App ID 从 iOS 应用访问它。
我成功地在 Kitura 服务器上配置了 App ID,以便我可以登录并成功访问受保护的端点。
我可以使用与 Kitura 服务器相同的 TenantId 登录到 iOS 演示应用程序并获取令牌。也就是说,我可以成功登录,但是当我使用原始身份验证令牌时,我无法从 iOS 应用程序访问服务器上受保护的端点。
我已经尝试过,使用 postman 将 header 设置为:
Authorization = [sessionToken]
我试过:
Authorization = Bearer [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 app session 令牌访问专用端点?
遗憾的是,IBM Cloud App ID 服务的服务器 Swift SDK 的当前版本不支持 API 策略。 这意味着您无法保护单个 REST API。您只能保护 Web 应用程序。