身份验证 header 与 google 云端点中的查询参数
authentication header vs query parameter in google cloud endpoints
我已经尝试了所有方法,但我无法使用 Authentication:Bearer
header 使用 google 云端点访问我的 API。根据Cloud Endpoints Docs:
When you send a request using an authentication token, for security reasons, we recommend that you put the token in the Authorization:Bearer header.
它还说:
If you cannot use the header when sending the request, you can put the authentication token in a query parameter called access_token.
我可以在 URL 中使用 access_token=" +idToken
完美访问 API。但是,当我尝试发送带有身份验证 header 的 HTTP 请求时,如下所示:
const url =
"https://<PROJECTNAME>.appspot.com/getbalance";
axios
.get(url,{headers:{'Authentication':'Bearer '+idToken}})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
我收到这个错误:
JWT validation failed: Missing or invalid credentials
在查询参数中发送令牌是否与在 header 中发送令牌一样安全?
使用 "Authorization: Bearer " 时,您需要使用通过 OAuth 2.0 身份验证获得的访问令牌。
如果您对任何 Google API 再次使用 Oauth Playground,就可以说明这一点。
请记住,如果您想使用 Oauth 游乐场访问您的 Firebase 数据库,您需要在游乐场屏幕右上角的齿轮图标上配置您的 Firebase 项目的客户端 ID 和客户端密码。
还要确保使用这些范围:
完成所有步骤后,您将能够使用授权 header 和获得的访问令牌发出 REST 请求。
您的代码示例显示您设置了 Authentication header,而不是 Authorization header。您通常不应使用查询参数,因为它可能会记录在 Cloud Console 中。
我已经尝试了所有方法,但我无法使用 Authentication:Bearer
header 使用 google 云端点访问我的 API。根据Cloud Endpoints Docs:
When you send a request using an authentication token, for security reasons, we recommend that you put the token in the Authorization:Bearer header.
它还说:
If you cannot use the header when sending the request, you can put the authentication token in a query parameter called access_token.
我可以在 URL 中使用 access_token=" +idToken
完美访问 API。但是,当我尝试发送带有身份验证 header 的 HTTP 请求时,如下所示:
const url =
"https://<PROJECTNAME>.appspot.com/getbalance";
axios
.get(url,{headers:{'Authentication':'Bearer '+idToken}})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
我收到这个错误:
JWT validation failed: Missing or invalid credentials
在查询参数中发送令牌是否与在 header 中发送令牌一样安全?
使用 "Authorization: Bearer " 时,您需要使用通过 OAuth 2.0 身份验证获得的访问令牌。
如果您对任何 Google API 再次使用 Oauth Playground,就可以说明这一点。
请记住,如果您想使用 Oauth 游乐场访问您的 Firebase 数据库,您需要在游乐场屏幕右上角的齿轮图标上配置您的 Firebase 项目的客户端 ID 和客户端密码。 还要确保使用这些范围:
完成所有步骤后,您将能够使用授权 header 和获得的访问令牌发出 REST 请求。
您的代码示例显示您设置了 Authentication header,而不是 Authorization header。您通常不应使用查询参数,因为它可能会记录在 Cloud Console 中。