【问题标题】:WSO2 API manager : Adding JWT propertiesWSO2 API 管理器:添加 JWT 属性
【发布时间】:2016-05-13 14:22:04
【问题描述】:

在 WSO2 API Manager 和 ESB 集成中,我们可以从 ESB 端获取 JWT 属性设置我的 API 管理器。参考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 版本。

谢谢

【问题讨论】:

    标签: wso2 jwt wso2-am


    【解决方案1】:

    文章 [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. 在 $APIM_HOME/respository/conf 中的 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

    【讨论】:

    • 是的,我使用的是 1.7.0,无法突然升级。是的,在第一篇文章 [1] 中它说“(在 1.8.0 版本之前),我们能够插入外部声明检索器类。”但找不到关于这些“外部声明检索器”的信息
    • 用更多细节更新了答案。检查这是否适合你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2019-10-28
    • 2016-05-20
    • 1970-01-01
    相关资源
    最近更新 更多