WSO2 API管理器:添加JWT属性

时间:2016-05-13 14:22:05

标签: wso2 jwt wso2-am

在WSO2 API Manager和ESB集成中,我们可以从ESB端获取JWT属性设置我的API管理器。 ref http://wso2.com/library/articles/2013/07/use-of-json-web-tokens-in-an-api-fa%C3%A7ade-pattern/

但我想知道如何在API管理器中设置自定义JWT属性。我正在使用API​​管理器1.7.0版本。

由于

1 个答案:

答案 0 :(得分:2)

文章[1]解释了如何利用JWT生成器扩展点编写自己的自定义JWT生成器逻辑以包含自定义JWT属性。但是,这似乎适用于API Manager 1.8.0及更高版本。

您可以在最新发布的API Manager 1.10.0的[2]中找到有关如何实现相同内容的详细信息。

通过1.7.0文档,我找不到这样的扩展点。

[1] http://wso2.com/library/articles/2014/12/customize-json-web-token-generation-with-wso2-api-manager-1.8.0/

[2] https://docs.wso2.com/display/AM1100/Passing+Enduser+Attributes+to+the+Backend+Using+JWT#PassingEnduserAttributestotheBackendUsingJWT-CustomizetheJWTgeneration

<强>更新 对于API Manager 1.7.0,您可以编写自定义声明检索器以实现您的目标,以下是如何操作,

  1. 您需要编写实现ClaimsRetriever接口[3]
  2. 的自定义声明检索器
  3. 将您实现的声明检索器的完整限定类名添加到$ APIM_HOME / respository / conf
  4. 中的api-manager.xml [4]

    你可以把它添加到 api-manager.xml的org.wso2.carbon.apimgt.impl.token.DefaultClaimsRetriever部分

    博客[5]解释了如何使用对您有用的示例代码实现ClaimsRetriever接口。

    [3] https://svn.wso2.org/repos/wso2/carbon/platform/trunk/components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/token/ClaimsRetriever.java

    [4] https://svn.wso2.com/wso2/custom/projects/projects/carbon/turing/platform/trunk/products/apimgt/1.7.0/config/api-manager.xml

    [5] http://sanjeewamalalgoda.blogspot.com/2014/12/how-to-implement-custom-jwt-generator.html