OpenProject api 使用帐户用户名和密码进行身份验证

OpenProject api authentication using account username and password

是否可以使用管理员帐户用户名和密码向 OpenProject api 发出经过身份验证的请求?我目前正在尝试使用用户名和密码进行基本身份验证,但收到无效凭据错误。任何帮助,将不胜感激!谢谢! 编辑: 我尝试了答案中提到的。这是我所做的: 将 configuration.yml 文件更改为给定的:

default:

      rails_cache_store: <%= ENV.fetch('RAILS_CACHE_STORE') { :memcache }.to_sym %>
      session_store: <%= ENV.fetch('SESSION_STORE') { :cache_store }.to_sym %>
      email_delivery_method: <%= ENV.fetch('EMAIL_DELIVERY_METHOD') { :sendmail } %>
      smtp_address: <%= ENV['SMTP_HOST'] %>
      smtp_port: <%= ENV.fetch('SMTP_PORT') { 25 }.to_i %>
      smtp_domain: <%= ENV.fetch('SMTP_DOMAIN') { ENV['HOSTNAME'] } %>
      smtp_authentication: <%= ENV.fetch('SMTP_AUTHENTICATION') { :login }.to_sym %>
      smtp_user_name: <%= ENV['SMTP_USERNAME'] %>
      smtp_password: <%= ENV['SMTP_PASSWORD'] %>
      smtp_enable_starttls_auto: <%= ENV.fetch('SMTP_ENABLE_STARTTLS_AUTO') { "false" } %>
      attachments_storage_path: <%= ENV.fetch('ATTACHMENTS_STORAGE_PATH') { "/var/db/_APP_NAME_/files" } %>
      global_basic_auth:
         user: admin
         password: admin

然后使用用户名和密码均为 admin 进行基本身份验证 api 调用。但身份验证仍然无效。是否应该包括任何其他 headers?

configuration.yml 中的语句应为:

default:
  ...other configuration params...
  authentication:
    global_basic_auth:
      user: admin
      password: admin

缺少 authentication 键。

一旦您在 configuration.yml 中正确定义了凭据,这将授予管理员权限,您应该能够使用基本身份验证对 api 发出调用,例如:curl -u admin:admin http://localhost:3000/api/v3/users .请记住,使用 -u 选项,curl 已经正确转换了 HTTP-header 值(本例中为 Authorization: Basic YWRtaW46YWRtaW4=)。如果您使用 curl 以外的任何东西,请确保客户端发送的 header 值使用 username:password base64 编码。

请注意,您还可以选择将每个用户的 api 密钥定义为 described by the documentation。这样做,您可以控制用户的访问权限,从授予他管理员权限到仅授予特定项目内的有限权限。