首页 > 解决方案 > 如何通过 Apache 服务器将 Kerberos 票证传递给后端服务

问题描述

我有几个作为 API 运行的服务,这些服务由我的 Web 操作调用。到目前为止,API 上没有身份验证,而是使用通过 SSO 从我的 Web 应用程序中获取的用户 ID。现在,我计划使用 Kerberos 身份验证,即使是我假设我需要将 Kerberos 票证发送(或委托)到我的后端服务的 API。

我正在使用配置为让用户使用mod_auth_kerb以下配置的Apache Server 2.4.6

<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>

任何指针将不胜感激。

标签: apacherestsingle-sign-onkerberosspnego

解决方案


推荐阅读