Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Single sign on 会话验证端点在AM5中工作,但没有’;我不在AM6工作_Single Sign On_Openam_Forgerock - Fatal编程技术网

Single sign on 会话验证端点在AM5中工作,但没有’;我不在AM6工作

Single sign on 会话验证端点在AM5中工作,但没有’;我不在AM6工作,single-sign-on,openam,forgerock,Single Sign On,Openam,Forgerock,在过去的几天里,我一直在努力让AM6(Forgerock访问管理)使用与AM5相同的配置。在用户执行OpenID Connect授权代码流之后,我正在尝试验证会话 我的设置: 我部署了一个AM实例 从常见任务配置OpenID连接 从Applications->OAuth2.0添加了OAuth2客户端。设置所有配置:重定向URI、作用域生存期等,并将“令牌端点身份验证方法”设置为client\u secret\u post (可选)将默示同意添加到OAuth 2.0客户端,然后设置服务->OAut

在过去的几天里,我一直在努力让AM6(Forgerock访问管理)使用与AM5相同的配置。在用户执行OpenID Connect授权代码流之后,我正在尝试验证会话

我的设置:

  • 我部署了一个AM实例

  • 从常见任务配置OpenID连接

  • 从Applications->OAuth2.0添加了OAuth2客户端。设置所有配置:重定向URI、作用域生存期等,并将“令牌端点身份验证方法”设置为
    client\u secret\u post

  • (可选)将默示同意添加到OAuth 2.0客户端,然后设置服务->OAuth 2提供程序->同意->
    允许客户端跳过同意=true

  • 我的代币用法:

  • 在将用户重定向到登录屏幕(并接收到代码)后,我使用form_参数向令牌端点(
    /oauth2/access_-token
    )发送帖子

    (
        [client_id] => my_client
        [client_secret] => my_client_pass
        [code] => a5867a21-4d5a-4285-ba07-dcbe46d53bc6
        [redirect_uri] => http://localhost:3000/auth/callback
        [grant_type] => authorization_code
    )
    
  • 重定向uri端点接收
    access\u令牌
    id\u令牌

    (
        [access_token] => e78569fb-e162-4e4f-ab5e-79ebeaf2ba94
        [scope] => openid offline_access profile email
        [id_token] => eyJ0eXAiOiJKV1QiLCJraWQiOiJiL.......
        [token_type] => Bearer
        [expires_in] => 35999
    )
    
  • (问题出在这里)然后我检查用户的会话(使用给定的id\u令牌)是否仍然有效(他是否已注销) 我使用

  • 当对AM5进行审判时,我得到

    {"valid":true,"uid":"my-user-here","realm":"/"}
    
    针对AM6.0.0.4进行测试时,我总是得到:

    {"valid":false}
    

    我是否缺少阻止生成的openid_令牌在会话端点中可用的内容

    如果有人偶然发现相同的问题,我发现我错过了AM6中添加的一个重要设置:授权OIDC SSO客户端

    这将强制您的会话id与OpenID Connect中的id_令牌相同


    另一个解决方案是研究使用
    /oauth2/connect/checkSession
    端点来验证令牌

    您有不同的领域吗?没有,只有一个默认领域。
    {"valid":false}