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