我有一些作为API公开运行的服务,这些服务由我的Web操作调用。到目前为止,尚未对API进行身份验证,而是利用了通过SSO从我的Web应用程序获取的用户ID。现在,我计划甚至针对那些我假设需要将Kerberos票证发送(或委托)到我的后端服务的API使用Kerberos身份验证。
我正在使用Apache Server 2.4.6配置为通过以下配置使用mod_auth_kerb
来吸引用户
<Location /my-web-site>
AuthType Kerberos
RequestHeader set X-Remote-User "%{REMOTE_USER}s" env=REMOTE_USER
RequestHeader set X-Auth-User "%{AUTH_USER}s" env=AUTH_USER
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} (.+)
RewriteRule .* - [E=RU:%{LA-U:REMOTE_USER},NS]
RequestHeader set X-Remote-User "%{RU}e" env=RU
RequestHeader set Remote-User "%{RU}e" env=RU
Header set Remote-User "%{RU}e" env=RU
AuthName "Kerberos Login"
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbLocalUserMapping off
KrbAuthRealms MY.REALM.COM
KrbServiceName Any
Krb5KeyTab /path/to/my-keytab
require valid-user
</Location>
任何指针都将受到高度赞赏。