【发布时间】:2022-01-18 04:16:26
【问题描述】:
我正在尝试制作 Android 应用程序 - API Redmine 的客户端。首先我需要的是身份验证,但我真的不明白如何实现它。 (使用改造)文档只说:
大多数时候,API 需要身份验证。要启用 API 样式的身份验证,您必须在管理 -> 设置 -> API 中选中启用 REST API。然后,可以通过两种不同的方式进行身份验证:
通过 HTTP 基本身份验证使用您的常规登录名/密码。 使用您的 API 密钥,这是一种避免在脚本中输入密码的便捷方法。 API 密钥
可以通过以下方式之一附加到每个请求:
- 作为“关键”参数传入
- 通过 HTTP Basic 身份验证作为用户名和随机密码传入
- 作为“X-Redmine-API-Key”HTTP 标头传入(在 Redmine 1.1.0 中添加)
登录后,您可以在帐户页面 ( /my/account ) 的默认布局的右侧窗格中找到您的 API 密钥。
我找到了这个解决方案:
- HTTP 基本身份验证 – http://login:password@redmine.org/issues.xml
- 带有 API 令牌和登录名的 HTTP 基本身份验证 - http://login:RANDOM_KEY@redmine.org/issues.xml-(尚不支持)
- 带有 API 令牌的 HTTP 基本身份验证 – http://RANDOM_KEY:X@redmine.org/issues.xml
- 完整的令牌认证 - http://redmine.org/issues.xml?key=RANDOM_KEY
但它不起作用。 API Redmine 的所有开源客户端都使用自己的服务器/域之类的东西 - 我不明白。例子:
- http://**my.server**/projects/test.xml?key=1234
- http://**localhost:3000**/news.xml?key=01fc3e3832e32ae8c12bf0c3b0819ca4a5972825
- https:**sample.redmine.com**/
我需要一些帮助来理解这是什么(粗体字)。如果没有这个,我无法提出我的请求,或者在 Retrofit 中使用 BASE_URL
【问题讨论】:
标签: android api authentication client redmine