簡體   English   中英

WSO2 API管理器和Kerberos

[英]WSO2 API Manager and Kerberos

我已經設置了新的WSO2 API管理器服務器(版本2.6.0),並嘗試將服務器配置為支持Kerberos,但是我在理解整個過程方面存在問題。 我們的客戶端是在Windows計算機(Chrome或IE)上運行的Angular應用程序。 在文檔中,我找到了以下句子:應用程序應通過調用以下命令來請求新的訪問令牌:
curl -v -X POST -H "Authorization: Basic <base64 encoded client id:client secret value>" -k -d "grant_type=kerberos&kerberos_realm=<kerberos realm>&kerberos_token=**<kerberos token>**" -H "Content-Type:application/x-www-form-urlencoded" https://localhost:9443/oauth2/token

但是這個“ kerberos令牌”應該從哪里來,我該如何測試呢?

  • 我已經安裝並配置了與文檔相對應的服務器。
  • 我在AD中有一個服務主體,並在WSO2 API中配置了身份提供者。
  • 我已經配置了一個與普通OAuth2兼容的示例API
  • 我已經在應用程序(WSO2 API存儲)上激活了Kerberos

我的預期結果是,將調用該服務,對用戶進行身份驗證,並將用戶信息傳遞給后端服務,但此刻我無法找到如何找到此kerberos炸彈的解決方案。

創建API時,將授權標頭定義為X-APIM-Auth 在下面構建自定義處理程序代碼,然后將生成的jar復制到路徑/ repository / components / dropins中的以下目錄。

https://github.com/AndreaNim/kerberos-delegation-handler

您可以將此自定義處理程序添加到API,並將以下邏輯添加到/repository/resources/api_templates/velocity_template.xml文件

如下所示,將IIS后端服務的SPN配置為處理程序中的targetSPN屬性,

<handler class="org.wso2.apim.kerberos.handler.CustomKerberosDelegationHandler">
        <property name="targetSPN" value="<Server Principal Name>"/>
</handler>

/ repository / conf / security /文件夾中創建一個名為“ kerberos”的目錄,並添加以下文件,

  • krb5.conf
  • login.conf
  • 鍵表

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

嘗試通過密碼授予類型獲取訪問令牌。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM