определяет авторизованный заголовок как X-APIM-Auth при создании API.
Создайте приведенный ниже код пользовательского обработчика и скопируйте полученный jar-файл в следующий каталог по пути / repository / components / dropins .
https://github.com/AndreaNim/kerberos-delegation-handler
Вы можете добавить этот пользовательский обработчик в API и добавить приведенную ниже логику в файл / repository / resources / api_templates / speed_template.xml .
настроить имя участника-службы внутренней службы IIS в качестве свойства targetSPN в обработчике, как показано ниже,
<handler class="org.wso2.apim.kerberos.handler.CustomKerberosDelegationHandler">
<property name="targetSPN" value="<Server Principal Name>"/>
</handler>
Создайте каталог с именем «kerberos» внутри папки / repository / conf / security / и добавьте следующие файлы,
- krb5.conf
- login.conf
- Keytab
Пример файла krb5.conf:
[libdefaults]
default_realm = EXAMPLE.COM
[realms]
EXAMPLE.COM = {
kdc = kdc1.example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
Пример файла login.conf:
KrbLogin {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=false
refreshKrb5Config=true
doNotPrompt=true
useKeyTab=true
debug=true
storeKey=true
principal="< principal >"
keyTab="< keytab_path >";
};
Команда для создания таблицы ключей
ktpass /out <keytab> /princ HTTP/<FQDN>@<DOMAIN NAME> /mapuser <User Name of the AD account>/pass <User Password of the Authentication Service AD account> /crypto All /ptype KRB5_NT_PRINCIPAL
попытаться получить токен доступа по типу предоставления пароля.