我正在使用spring security创建一个spring boot应用程序来设置oauth2服务器,以便使用授权代码授权流程与Amazon Alexa一起使用。由于它是POC,它使用内存客户端和内存用户中的一些。我在本地设置了一个工作示例并使用Postman进行了测试。
我已将打包的jar扔进弹性beanstalk并使用自签名证书将其托管在https上。当与Alexa和Postman一起测试时,我带到了登录屏幕和允许/拒绝屏幕,然后是失败。对于alexa,我只是表明帐户链接失败了。对于邮递员,生成的令牌只包含消息"可以+不+生成+访问+令牌+请求"。
我已经检查了alexa应用程序发生的网络调用,我可以确认我的授权终端重定向了代码和alexa传递的状态,但从未到达令牌端点。但是,手动将此代码传递给令牌端点可以为我提供有效的令牌。
这是我第一次使用这些技术(春季启动除外),所以任何帮助都会在这里受到高度赞赏。
修改
所以我继续使用普通的http服务端点,我仍然遇到使用Postman的同样问题。所以我非常有信心这个问题与ssl有关。
答案 0 :(得分:0)
所以,我最终构建了一个虚拟客户端应用程序来测试我的Auth服务器。 我使用this guide使用spring security创建了这个客户端应用程序 框架。
我最终得到sun.security.provider.certpath.SunCertPathBuilderException
异常,这是由于JVM不信任我的自签名证书造成的。我使用此SO answer添加了我的网站证书。从那里,我的本地客户端应用程序正在运行。
就我的最终目标而言,我需要为我的auth服务器获取可信证书。我发现了here。
- 请注意,帐户关联网址必须是端口443上的HTTPS网址,并且具有来自亚马逊批准的CA权限(https://mozillacaprogram.secure.force.com/CA/IncludedCACertificateReport)的证书。
醇>
不幸的是,已批准的CA的提供链接似乎已被移动。