AWS ALB不接受Keycloak令牌。要解决这个问题,可以使用AWS CLI命令来配置ALB,以允许令牌通过,指定应用程序负载均衡器的身份验证动作为“forward”,并在HTTP头中添加令牌。以下是一个示例命令:
aws elbv2 create-rule --listener-arn --priority --conditions Field=host-header,Values= --actions Type=authenticate-cognito,AuthenticateCognitoConfig={"UserPoolArn":"","UserPoolClientId":"","UserPoolDomain":"","SessionCookieName":"AWSELBAuthSessionCookie","Scope":"openid","SessionTimeoutMinute":60,"AuthenticationRequestExtraParams":{"key": "value"},"OnUnauthenticatedRequest":"authenticate","Forward": {"Uri": "/","Query":{"key":"value"},"Headers":{"key":"value"},}}
这将创建一个规则,该规则将令牌传递给指定的应用程序负载均衡器,并在HTTP头中添加令牌。
请注意,此解决方案假设您已经正确配置了Keycloak,以向AWS ALB提供有效的令牌。如果您的Keycloak配置不正确,您可能需要更新Keycloak以生成有效的令牌。
作者:骑士俱乐部倍儿爽的小编
链接:https://zhuanlan.zhihu.com/p/170818996
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。