【发布时间】:2019-05-01 20:22:54
【问题描述】:
从客户端应用发送请求以获取访问令牌的理想/安全方式是什么?
我有一个 REST API(使用 Spring Boot 开发),由该 API 的客户端应用程序(使用 React.js 开发)使用。例如,Stackoverflow 有后端 API,它的前端客户端使用该 API。 REST API 使用 OAuth2 进行保护。
API 返回访问令牌的端点是
http://192.168.43.70:8085/api/v1/oauth/token?grant_type=password&username=22@gmail.com&password=mypassword
连同客户端密码。这是来自 React.js 的请求:
axios
.create({
baseURL:
"http://192.168.43.70:8085/api/v1/oauth/token?grant_type=password&username=22@gmail.com&password=mypassword",
auth: {
username: "my-client",
password: "ZS10ZXN0"
}
})
这是正确的方法吗,因为我们将客户端机密("my-client"、"bGl2ZS10ZXN0")暴露给浏览器,任何人都可以从浏览器中看到用于此请求的客户端凭据?
【问题讨论】:
标签: reactjs spring-boot axios spring-security-oauth2