首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pkgcloud对OpenStack中的用户名和密码进行认证

使用pkgcloud对OpenStack中的用户名和密码进行认证
EN

Stack Overflow用户
提问于 2020-01-25 21:24:01
回答 2查看 251关注 0票数 2

我正在尝试在OpenStack中调用一个用于密码验证的接口。这是我收集并获得访问令牌的应用程序接口:Password authentication with unscoped authorization

我想在NodeJS中做同样的事情,但我有点困惑。我可以这样做吗?因为我在想,问题可能是这样做是不可能的;然而,这是我一直在尝试的代码:

代码语言:javascript
复制
var pkgcloud = require('pkgcloud');

var client = pkgcloud.compute.createClient({
    provider: 'openstack',
    username: <username>,
    password: <password>,
    authUrl: 'http://<ip>:<port>/',
    basePath: 'v3'
});
  client.getFlavors(function (err, flavors) {
    console.log("Error", err)
    console.log("Flavors", flavors)
})

client.getServers(function (err, servers) {
    console.log("Error", err)
    console.log("Servers", servers)
})

getFlavors和getServers函数返回405方法Not Allowed -请求的URL不允许该方法。

我的代码出了什么问题?如果我必须为getFlavors或任何其他函数使用另一个URL,我应该把它放在哪里?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-28 20:27:05

我按照Iarsks所说的做了,还添加了一个租户id,它工作得很好。

这是我使用的配置:

代码语言:javascript
复制
var config = {
    provider: 'openstack',
    keystoneAuthVersion: 'v3',
    authUrl: '...',
    domainId: 'default',
    username: <username>,
    password: <password>,
    region: <region name which is provided in the cloud.yaml file in OpenStack>,
    tenantId: <the same as the Project ID>
}
票数 2
EN

Stack Overflow用户

发布于 2020-01-25 21:53:01

首先,您应该通过keystoneAUthVersion显式地设置Keystone版本,而不是指定basePath: 'v3'。像这样简单地设置basePath最终会导致错误的请求。

在使用v3身份验证时,您需要在请求中提供domainId (或domainName)。

最后,您可能需要确保提供的是有效的region

下面的代码可以在我的OpenStack环境中正常运行:

代码语言:javascript
复制
var pkgcloud = require('pkgcloud');

var client = pkgcloud.compute.createClient({
    provider: 'openstack',
    keystoneAuthVersion: 'v3',
    authUrl: '...',
    domainId: 'default',
    username: 'lars',
    password: '...',
    region: 'my-region'
})

client.getFlavors(function (err, flavors) {
    console.log("Error", err)
    console.log("Flavors", flavors)
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59909633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档