【发布时间】:2017-03-03 23:15:47
【问题描述】:
我构建了一个 angularjs 客户端和一个 spring boot 应用程序。后端提供了一些虚拟的 REST-API。现在我想集成 wso2 Api Manager 来管理我的 REST API 和 wso2 身份服务器来保护它。
所以我将预打包的身份服务器与 API Manager 一起使用。如果用户通过重定向到 WSO2 API 管理器服务器进入 webapp,我可以授权用户:
window.location.href = https://localhost:9445/oauth2/authorize
这样我可以看到 wso2 Identity Server 的登录表单。输入我的凭据后,我将使用名为 code 的新 url 参数重定向回我的 webapp。
在我读到的文档中,我必须使用新收到的code 发出新请求以获取访问令牌。这是问题所在。我需要发送一个Authorization: Basic 标头,其中的值是client_id:client_secret 的base64 编码。据我所知,不确定将客户端密钥保留在 javascript 代码中。
此外,我不确定我是否在 wso2 中使用了正确的流程。是否有明确的教程/示例如何将 wso2 用于 Web 应用程序。
我正在使用 wso2 Api Manager 1.10.0 和 wso2 Identity Server 5.1.0。
编辑:我发现我需要为浏览器/javascipt 应用程序使用隐式流。
【问题讨论】: