首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >认证AWS认知SRP

认证AWS认知SRP
EN

Stack Overflow用户
提问于 2017-03-08 10:20:40
回答 4查看 10.4K关注 0票数 2

我正在编写一个控制台POC来演示AWS认知身份验证-,作为我们的API网关身份验证机制(不是托管在AWS中)。这是用C#编写的。

我已经成功地创建了一个用户,并对他们进行了确认;但是现在我需要进行身份验证来检索一个JWT,这个JWT可以在下游传递和验证。

以下代码

代码语言:javascript
复制
 using (var client = new AmazonCognitoIdentityProviderClient())
            {
               var initAuthRequest = new InitiateAuthRequest();
                   initAuthRequest.AuthParameters.Add("USERNAME", username);
                   initAuthRequest.AuthParameters.Add("PASSWORD", password);
                   initAuthRequest.ClientId = clientId;
                   initAuthRequest.AuthFlow = AuthFlowType.USER_SRP_AUTH;
                   var response = client.InitiateAuth(initAuthRequest);
                   WriteLine("auth ok");
            }

产生这种例外情况:

'Amazon.CognitoIdentityProvider.Model.InvalidParameterException‘类型的未处理异常发生在AWSSDK.Core.dll中 附加信息:缺少必需参数SRP_A

我在dotnet中找不到生成SRP头的方法,有人能帮忙吗?

谢谢KH

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-09 08:02:41

认知用户池不支持来自.NET SDK的SRP身份验证。您将无法在AuthFlowType.USER_SRP_AUTH API调用中使用InitiateAuth

如果您想直接使用用户名和密码登录,可以查看管理认证流程,它使用AdminInitiateAuth API和ADMIN_NO_SRP_AUTH流。

票数 2
EN

Stack Overflow用户

发布于 2019-01-18 15:42:52

实际上有一个新的扩展类,它正是帮助实现这一点的。只需搜索这个NuGet包:

代码语言:javascript
复制
AWSSDK.Extensions.CognitoAuthentication

GitHub存储库可以找到这里

一些例子可以找到这里。第一个代码示例向您展示了如何执行SRP流。

票数 3
EN

Stack Overflow用户

发布于 2017-03-20 15:28:23

正如Chetan已经指出的,.NET SDK不支持SRP身份验证。然而,它应该是可能的,通过一些第三方实施的SRP程序,可以找到这里

根据关于Github的一些注释,这段代码应该可以工作(但不幸的是,定制的SRP身份验证实现对我无效,但可能对您有效)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42668607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档