Websphere Can';我不了解如何使用openidConnectClient-1.0功能和使用RESTAPI端点的Angular应用程序使用OpenID协议

Websphere Can';我不了解如何使用openidConnectClient-1.0功能和使用RESTAPI端点的Angular应用程序使用OpenID协议,websphere,single-sign-on,openid,websphere-liberty,Websphere,Single Sign On,Openid,Websphere Liberty,因此,我有一个服务器,配置为使用。然后我有一个Angular应用程序,它大量使用RESTAPI端点。 当我第一次打开应用程序或在令牌过期后打开它时,一切正常,WAS将我重定向到OpenID提供程序,然后是由OpenID定义并由实现支持的常规流 但我该如何关心以下用例:当应用程序打开时,令牌已过期,并且用户在不重新加载应用程序的情况下发出GET或POST请求?现在也是执行重定向,所以我实际上无法区分常规响应和重定向(都返回状态200) 我考虑的唯一解决方案是告诉Websphere不要对某些端点执行

因此,我有一个服务器,配置为使用。然后我有一个Angular应用程序,它大量使用RESTAPI端点。 当我第一次打开应用程序或在令牌过期后打开它时,一切正常,WAS将我重定向到OpenID提供程序,然后是由OpenID定义并由实现支持的常规流

但我该如何关心以下用例:当应用程序打开时,令牌已过期,并且用户在不重新加载应用程序的情况下发出GET或POST请求?现在也是执行重定向,所以我实际上无法区分常规响应和重定向(都返回状态200)

我考虑的唯一解决方案是告诉Websphere不要对某些端点执行重定向,而是返回401/403错误。因此,我将能够在客户端监控响应代码并相应地执行。有可能实现吗?也许还有另一个我不知道的解决方案


更新:写完本文后,我考虑使用,即定义如下内容:

<authFilter id="testFilter">
        <webApp id="simple" matchType="contains" name="simple"/>
        <requestUrl id="excludeUrl1" matchType="notContain" urlPattern="/basic"/>
        <requestUrl id="excludeUrl1" matchType="notContain" urlPattern="/api"/>
    </authFilter>
它将返回到另一个
注册表
执行登录。这可能是一个安全漏洞。
更新2:上述解决方案无效。当服务器返回
401
错误和
www-authenticate
标题时,浏览器会显示基本身份验证的弹出窗口,请参阅下面的建议解决方案。

要解决我使用的此问题,我会检查响应中是否有以下标题:
无缓存,无存储,必须重新验证,私有,最大年龄=0
。如果它们在响应中持续存在,我知道会话已过期,并重新加载我的应用程序

重新加载时,liberty本身会将其重定向到SSO提供程序。另一个解决方案是从响应中提取重定向URL并手动重定向到它