3.9.11.2. 使用 LDAP 进行 REST API 身份验证
可以使用以下属性启用 REST 的 LDAP 身份验证:
-
cuba.rest.ldap.enabled
- 是否启用 LDAP 身份验证。 -
cuba.rest.ldap.urls
– LDAP 服务器 URL。 -
cuba.rest.ldap.base
– 用户搜索的基准 DN。 -
cuba.rest.ldap.user
– 有权从目录中读取信息的系统用户的专有名称。 -
cuba.rest.ldap.password
– cuba.web.ldap.user属性中定义的系统用户的密码。 -
cuba.rest.ldap.userLoginField
- 用于匹配登录名的 LDAP 用户属性的名称。默认情况下是sAMAccountName
(适用于 Active Directory)。
local.app.properties文件示例:
cuba.rest.ldap.enabled = true
cuba.rest.ldap.urls = ldap://192.168.1.1:389
cuba.rest.ldap.base = ou=Employees,dc=mycompany,dc=com
cuba.rest.ldap.user = cn=System User,ou=Employees,dc=mycompany,dc=com
cuba.rest.ldap.password = system_user_password
可以使用以下端点获取 OAuth 令牌:
http://localhost:8080/app/rest/v2/ldap/token
此端点使用基本身份验证进行访问保护。REST API 客户端标识符和密码用于基本身份验证。请注意,这些不是应用程序用户登录名和密码。REST API 客户端 ID 和密码在应用程序属性 cuba.rest.client.id 和 cuba.rest.client.secret 中定义。(默认值分别为 client
和 secret
)。必须在 Authorization
请求头中以 base64 编码的字符串传递客户端 ID 和密码,客户端 ID 和密码使用冒号(":")分隔。
请求参数与标准身份验证相同:
-
grant_type
- 总是password
. -
username
- 应用程序用户登录名。 -
password
- 应用程序用户密码。
请求类型必须是 application/x-www-form-urlencoded
,编码方式为 UTF-8
。
此外,可以禁用使用登录名和密码的标准身份验证:
cuba.rest.standardAuthenticationEnabled = false