当前位置: 首页 > 知识库问答 >
问题:

无法使用AWS Cognito登录并访问令牌

祁渊
2023-03-14

我试图使用从身份提供者检索到的访问令牌获取cognito身份。有点像这里。这里描述的AWS SDK的这一部分似乎存在问题,因此我正在尝试找到解决方法。

当我运行代码我得到以下错误:

任务结果:nil Error-Error-Domain=com.amazonaws.AWSCognitoIdentityErrorDomain-Code=8“(null)”UserInfo={{uuuuu-type=NotAuthorizedException,message=Invalid login-token。颁发者与providerName不匹配}

在我的代码下面,我怀疑问题在于我在此处设置登录的方式:

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
    })
}

共有1个答案

孙胜泫
2023-03-14

你的“provider_url”是“cognito-idp.xxx”的类型?看来你在传递一个无效的“provider_url”

 类似资料:
  • 当点击登录按钮时,弹出窗口显示使用google登录。我需要使用弹出窗口的google按钮访问登录。我已经展示了一些使用方法和方法处理弹出窗口的先前示例。但是无法访问弹出窗口中的元素。 下面的代码显示了无接触异常

  • 目前访问类型处于联机状态。当我需要访问驱动器上的文件/文件夹时,我将浏览器重定向到Google URL并获得访问代码: 一切运转良好!但我只需要第一次重定向。 当我谷歌时,在google Drive API文档中,我发现我可以通过浏览器重定向获得刷新令牌,并将其保存在数据库中。(换句话说,我可以使用脱机访问)。 而且每次当我需要从google drive读取数据时,我使用刷新令牌获得访问令牌,而无

  • 我用auth0用angularjs创建函数login。 当我输入电子邮件和密码登录成功不返回信息,并再次重定向到登录页面。我检查数据返回看不到' id_token '。 app.js包括配置认证 身份验证服务.js

  • 访问令牌的期限为7天,如果client在3天内返回,则通过现有的访问令牌对用户进行身份验证。 如果访问令牌已经超过3天,服务器将使用user_id查询存储在数据库中的刷新令牌。此时,如果刷新令牌有效,服务器将尝试重新发布7天访问令牌。 我想用这种方式来管理用户,这样做对吗?

  • 我正在尝试为我的OneDrive业务帐户访问Microsoft图形应用程序。我在Azure目录中创建了一个应用程序。我能够进行身份验证,我正在获取访问令牌,但当尝试使用该访问令牌并使用此api时https://graph.microsoft.com/v1.0/me.我收到以下错误:“访问令牌验证失败。无效的受众。”我不知道我是否缺少访问图形应用程序的任何权限?

  • 我想访问用户的一个驱动器上传一个文件或检索文件使用图形API。我在网上看到了多个例子,这些例子要求用户使用标准登录页面进行登录。您需要从登录页面获得授权代码,然后使用它获得令牌,最后可以使用令牌访问像Drive这样的资源。 我正在寻找一种方法来做到这一点,而不需要通过登录页面。我可以有我自己的登录页面,我可以要求用户登录。 简而言之,我想使用像Postman这样的REST客户机访问Graph AP