0
我无法使用身份验证令牌对oracle云进行身份验证。我使用节点js中的“请求”节点模块使用其REST端点连接到Oracle云。我在标头中传递身份验证令牌,并且我得到的响应是“HTTP 401未经授权”。不知道为什么会发生。任何帮助表示赞赏。如何使用身份验证令牌对oracle云ipnetwork API进行身份验证?
我无法使用身份验证令牌对oracle云进行身份验证。我使用节点js中的“请求”节点模块使用其REST端点连接到Oracle云。我在标头中传递身份验证令牌,并且我得到的响应是“HTTP 401未经授权”。不知道为什么会发生。任何帮助表示赞赏。如何使用身份验证令牌对oracle云ipnetwork API进行身份验证?
下面是一个示例,它首先获取一个令牌,然后将其用于后续请求。
开始通过设置这些环境变量:
例如:
export OC_REST_ENDPOINT=https://api-z999.compute.us0.oraclecloud.com/
export OC_IDENTITY_DOMAIN=myIdentityDomain
export OC_USER=some.user
export OC_PASSWORD=supersecretpassword
然后用下面的例子:
const request = require('request');
const restEndpoint = process.env.OC_REST_ENDPOINT;
const identityDomain = process.env.OC_IDENTITY_DOMAIN;
const user = process.env.OC_USER;
const password = process.env.OC_PASSWORD;
request(
{
method: 'POST',
uri: restEndpoint + 'authenticate/',
headers: {
'content-type': 'application/oracle-compute-v3+json',
},
body: JSON.stringify({ // Must be a string, buffer or read stream
user: '/Compute-' + identityDomain + '/' + user,
password: password
})
},
function(err, res, body) {
if (err) {
console.log(err);
return;
}
if (res.statusCode !== 204) {
console.log('Something broke.');
return;
}
console.log('Got auth token');
let token = res.headers['set-cookie'][0];
request(
{
method: 'GET',
uri: restEndpoint + 'instance/',
headers: {
'accept': 'application/oracle-compute-v3+directory+json',
'cookie': token
}
},
function(err, res, body) {
if (err) {
console.log(err);
return;
}
console.log(body);
}
);
}
);
你的答案work..Thanks man .......你摇滚.. –
你打哪个端点?你能告诉我们一些代码吗?你有没有读过这个? http://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbr/security-authentication-authorization.html –
您好Dan REST端点在Oracle云服务选项中可用。我使用的代码is- request({“method:”POST“”RESTendpoint/Compute-identitydomain/network/v1/ipnetwork,body:{“name”:{ipnetwork name}},headers:{“Cookie”:token,content-键入}},{回调函数})。 –
你见过这个吗? http://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsa/SendRequests.html请注意,这些网址包含必须用您的信息(包括身份网域)替换的部分。请以“https://”开头,告诉我您尝试点击的完整网址(只需将您的真实身份网域替换为假冒网址)。 –