aws弹性beantalk上的Oauth2服务器

Posted

技术标签:

【中文标题】aws弹性beantalk上的Oauth2服务器【英文标题】:Oauth2 server on aws elastic beanstalk 【发布时间】:2018-03-01 16:22:37 【问题描述】:

我正在开发一个使用 Spring Security 的 Spring Boot 应用程序,以使用授权代码授予流程设置一个 oauth2 服务器以与 Amazon Alexa 一起使用。由于它是 POC,因此它使用内存客户端和一些内存用户。我已经在本地设置了一个工作示例并使用 Postman 对其进行了测试。

我已将打包的 jar 放入弹性 beanstalk 中,并使用自签名证书将其托管在 https 上。在使用 Alexa 和 Postman 进行测试时,我被带到登录屏幕和允许/拒绝屏幕,然后出现故障。对于 alexa,我只是显示帐户链接失败。对于邮递员,生成的令牌只包含消息“Could+not+make+access+token+request”。

我检查了为 alexa 应用程序发生的网络调用,我可以确认我的授权端点使用代码和由 alexa 传递的状态重定向,但从未到达令牌端点。但是,手动将此代码传递给令牌端点会为我提供一个有效的令牌。

这是我第一次使用这些技术中的每一种(除了 spring boot),所以在这里非常感谢任何帮助。

编辑

所以我继续通过常规 http 为端点提供服务,但使用 Postman 时我仍然遇到同样的问题。所以我很有信心这个问题与 ssl 有任何关系。

【问题讨论】:

【参考方案1】:

所以,我最终构建了一个虚拟客户端应用程序来测试我的身份验证服务器。 我使用 this guide 使用 spring security 创建了这个客户端应用程序 框架。

我最终得到了一个sun.security.provider.certpath.SunCertPathBuilderException 异常,这是由 JVM 不信任我的自签名证书引起的。我使用此SO answer 添加了我的站点证书。从那里开始,我的本地客户端应用程序正在运行。

就我的最终目标而言,我需要为我的身份验证服务器获取可信证书。我发现了这个here。

    请注意,帐户链接 URL 必须是端口 443 上的 HTTPS URL,并带有来自 Amazon 批准的 CA 机构 (https://mozillacaprogram.secure.force.com/CA/IncludedCACertificateReport) 的证书。

不幸的是,批准的 CA 上提供的链接似乎已被移动。

【讨论】:

以上是关于aws弹性beantalk上的Oauth2服务器的主要内容,如果未能解决你的问题,请参考以下文章

aws弹性beantalk上的nginx扩展

AWS弹性beantalk上的预定http调用

aws弹性beantalk上的HTTP到HTTPS不适用于Spring Boot

如何将自签名证书分配给 AWS 弹性 beantalk 应用程序

在弹性 beantalk AWS 中部署应用程序

如何使用弹性 beantalk 和 aws 修复 Flask 应用程序中的内部服务器错误