如何获取当前Liferay会话的JWT令牌

问题描述

我已将Liferay v7.3.4 CE配置为使用OpenID Connect Provider通过AWS Cognito进行身份验证,并且一切正常。

enter image description here

我现在想使用在登录过程中从Cognito获得的JWT令牌在Liferay中调用AWS中的REST API。

该JWT令牌似乎应该在Liferay中可用,对吗?如果是这样,将非常感谢您演示如何访问它的源代码示例。

然后将该令牌添加到由用户刚刚登录的同一Cognito实例保护的AWS API Gateway实例的API调用的API调用的Authorization标头中。但是首先,第一件事是……某人如何以编程方式要访问当前Liferay会话的JWT令牌?

希望这是有道理的。

解决方法

我已经开始工作了。

首先,我正在使用Maven(不是gradle)来构建Liferay项目。为此,我将以下内容添加到我的portlet的pom.xml文件中:

Numeric > Duration (Sec.)

接下来,在我的portlet的render方法中,添加了以下代码:

    <dependency>
        <groupId>com.liferay</groupId>
        <artifactId>com.liferay.portal.security.sso.openid.connect.api</artifactId>
        <scope>provided</scope>
    </dependency>