我已经使用API“InitiateAuth”对Cognito用户池进行了身份验证,并收到了一个id令牌:
{
sub: "8aec..." ,
aud:"2gr0fdlr647skqqghtau04vuct",
iss:"https://cognito-idp.us-east-1.amazonaws.com/us-east-1_LzM42GX6Q",
....
}
然后我尝试通过API“GetId”获取ID:
{
AccountId: "345745834314"
IdentityPoolId: "us-east-1:fb4d5209-33b1-46e2-923a-8aa206d5c7aa"
Logins: {
"cognito-idp.us-east-1.amazonaws.com/us-east-1_LzM42GX6Q": "eyJr...."
}
}
我已经设置了一个标识池,并正确地将Cognito用户池设置为提供者。但我总是从getId中得到回复:
"无效的登录令牌。发行人与提供者不匹配Name”
我还尝试将登录列表中的提供商名称更改为:
https://cognito-idp.us-east-1.amazonaws.com/us-east-1_LzM42GX6Q
因此,它与iss字段中的令牌完全匹配,但这并不能解决问题,仍然是关于颁发者的消息与提供者名称不匹配。
知道我做错了什么吗?
对我来说,问题是区域值不正确。
如果您在串联字符串中使用亚马逊提供的区域,请确保使用系统
版本:
public static Amazon.RegionEndpoint Region = Amazon.RegionEndpoint.USEast1;
string providerUrl = "cognito-idp." + Region.System + ".amazonaws.com/us-east-1_XYZ1234";
好了,我想通了,实际上在提供商名称周围有一组额外的引号:“cognito-idp.us-east-1.amazonaws.com/us-east-1_LzM42GX6Q”
在开发人员控制台中,它显示:
{
AccountId: "345745834314"
IdentityPoolId: "us-east-1:fb4d5209-33b1-46e2-923a-8aa206d5c7aa"
Logins: {
"cognito-idp.us-east-1.amazonaws.com/us-east-1_LzM42GX6Q": "eyJr...."
}
}
它只在提供者名称周围加了引号,而没有其他字段,这让我产生了怀疑。我单击“查看源代码”查看实际发送的json,如下所示:
"\"cognito-idp.us-east-1.amazonaws.com/us-east-1_LzM42GX6Q\""
我删除了额外的报价,它的工作原理。
问题内容: 我正在用硒编写以下代码,并且显示以下错误,请让我知道问题出在哪里。 导入org.testng.annotations.DataProvider; 导入org.testng.annotations.Test; 错误: 失败:testData org.testng.internal.reflect.MethodMatcherException:数据提供者不匹配方法:testData([Pa
我在Laravel5.2中遇到AJAX POST请求问题。我正在AJAX请求中传递一个有效的CSRF令牌。 使用Laravel Collective HTML package form标记打开和关闭表单,该标记会自动添加一个带有CSRF标记的隐藏标记输入。呈现的HTML: 使用Fetch API和FormData执行AJAX请求: CSRF令牌和表单数据位于请求负载中: 请求有效负载和x-csrf
我试图张贴使用ajax在laravel 5.我得到CSRF令牌不匹配异常。我环顾四周,发现可能存在这样的问题,但在这种情况下,我确实包括了所有必要的代码。 请看一下我的代码。 看法 我已经在隐藏输入中提供了令牌,并将其包含在我的帖子中。 我有一个元在头如下。 下面是我的控制器。 这个只是测试用的,这里没什么。我的路线如下 请帮我解决这个问题 这是日志中的输出。 以下是我的浏览器控制台帖子标题和页面
我有一个问题: WWW Authenticate Bearer realm=“test”,error=“invalid_token”,error_description=“invalid token issuer.Expected”http://keycloak:8080/auth/realms/test“但是”http://localhost:8080/auth/realms/test“ 我的设
我已经将我的keycloak服务器放置在apache代理后面: 我成功地告诉javascript端的keycloak使用/auth进行身份验证: 我已经设法登录了,但是在发出服务器请求之后,过滤器(from)抛出异常: 我如何才能使该设置工作?
我在DynamoDB中创建了一个表“user\u info”,其中有一个主哈希键“user\u id”(String),没有范围键。然后,我创建了2个AWS lambda函数来插入和查询项目。我可以将项目插入表中,但查询表时,它会返回: ValidationException:提供的键元素与架构不匹配。 我的查询功能: 我一直得到这个例外: 自从 1) 我只有一个哈希主键。 2)user_id定义