0
我想使用從我的身份提供者檢索到的訪問令牌來獲取認證身份。有點像在here。這個部分的AWS SDK似乎有問題,如here所述,所以我試圖找到解決方法。無法使用AWS Cognito和訪問令牌登錄
當我跑我收到以下錯誤代碼:
Task result: nil Error Error Domain=com.amazonaws.AWSCognitoIdentityErrorDomain Code=8 "(null)" UserInfo={__type=NotAuthorizedException, message=Invalid login token. Issuer doesn't match providerName}
下面我的代碼,我懷疑這個問題是我設立在這裏的登錄方式:
idInput? .logins = [「provider_url」:idToken] //我需要其他參數嗎?
代碼:
func congitoAuthentication(accessToken : String, idToken : String, refreshToken : String) {
let credentialProvider = AWSCognitoCredentialsProvider(regionType: .EUWest1, identityPoolId: "eu-west-2:XXXX")
let serviceConfig = AWSServiceConfiguration(region: .EUWest1, credentialsProvider: credentialProvider)
AWSServiceManager.default().defaultServiceConfiguration = serviceConfig
let idInput = AWSCognitoIdentityGetIdInput()
idInput?.identityPoolId = "eu-west-2:XXXX"
idInput?.logins = ["provider_url": idToken]
let identity = AWSCognitoIdentity.default()
let task = identity.getId(idInput!).continueWith(block: { (task) -> Any? in
if let error = task.error as? NSError {
print("Error \(error)")
return nil
}
return nil
})
}
謝謝你的回覆。你能澄清你的意思嗎?我是否使用不正確的字典鍵爲「provider_url」?你現在怎麼認爲它是一個無效的「provider_url」?謝謝 ! – mm24
由於錯誤消息。不需要在這裏發佈完整的提供者網址,但是什麼類型的網址是?它開始於cognito-idp?用戶認知池也是如此?或者是聯邦提供商? – UXDart