使用帐户用户名和密码

时间:2017-08-28 12:24:55

标签: authentication openproject

是否可以使用管理员帐户用户名和密码向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

然后使用用户名和密码进行基本的auth api调用。但仍然认证不起作用。是否应该包含任何其他标题?

1 个答案:

答案 0 :(得分:3)

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标头值(在此示例中为Authorization: Basic YWRtaW46YWRtaW4=)。如果您使用curl以外的任何内容,请确保客户端使用username:password base64编码发送标头值。

请注意,您还可以选择将每个用户的api密钥定义为described by the documentation。执行此操作,您可以控制用户的访问权限,将其管理员权限授予特定项目内的有限权限。