Session OneLogin编程会话cookie验证-无浏览器

Session OneLogin编程会话cookie验证-无浏览器,session,single-sign-on,session-cookies,onelogin,Session,Single Sign On,Session Cookies,Onelogin,我有下面的场景,我很好奇它是否可以实现。我需要使用SSO,更具体地说是OneLogin,从Java独立应用程序通过自定义UI对用户进行身份验证。我知道这可以通过一个登录API调用来完成。通过一些解析,我可以从上次调用中获取会话cookie并将其存储 现在,我需要以编程方式访问API服务器,该服务器仍将构建,并且该服务器需要以某种方式验证我将随请求一起发送的会话cookie。如中所示,关键字“编程”将没有浏览器 OneLogin不提供SDK来验证现有会话cookie=>如果我可以,那就太好了,基于

我有下面的场景,我很好奇它是否可以实现。我需要使用SSO,更具体地说是OneLogin,从Java独立应用程序通过自定义UI对用户进行身份验证。我知道这可以通过一个登录API调用来完成。通过一些解析,我可以从上次调用中获取会话cookie并将其存储

现在,我需要以编程方式访问API服务器,该服务器仍将构建,并且该服务器需要以某种方式验证我将随请求一起发送的会话cookie。如中所示,关键字“编程”将没有浏览器

OneLogin不提供SDK来验证现有会话cookie=>如果我可以,那就太好了,基于会话cookie,找出它是否仍然有效,以及此会话使用的用户名是什么。若会话无效,API服务器将返回未经授权的会话

这可能吗?还是有其他可能

  • 基本上,我们的生态系统中已经使用了一个登录名,我必须继续使用它
  • 将用户登录并获取会话cookie的应用程序可能不是调用API服务器的应用程序。这可能是另一个接收会话的java应用程序

  • 我想我要寻找的是与普通API中的OpenID Connect API等效的
    session\u令牌
    ,通过该API返回的
    session\u令牌有很短的到期时间,仅用于发出返回会话cookie的创建会话请求

    听起来OpenId Connect可能是这个用例的最佳选择。如果您具有用户凭据,则可以使用来验证用户并获取
    id\u令牌


    id\u令牌
    是一个包含用户详细信息的JWT,然后可以通过检查其签名、受众和到期声明来验证其真实性。它还可以保存您的后端应用程序可能使用的有关用户的其他自定义信息

    嗨,里奇,谢谢你的评论。看起来您提供的链接是指向OIDC Connect API的v2,该API不公开。您能否确认v1在access_令牌结果集中也返回JWT令牌:=>我怀疑是这样。是否有一个密钥可用于从OneLogin解码JWT?或者您是否打算使用密码授权中的access_token来获取sub(开放登录用户id),然后如果它是活动的token,则使用get user By id调用来检索用户信息。如果我们可以从JWT中解码这些信息,那就容易多了,但是v1访问令牌可能不是JWT(缺少三个不同的组)。v1访问令牌不是JWT。ID令牌是JWT,在
    sub
    声明中包含唯一的用户ID。v2是预览版,但下周(从2020年1月6日开始)将升级到GA。发布需要几天时间才能完成,并将在本周晚些时候准备就绪。v2具有JWT访问令牌,还包括具有密码授权的ID令牌。两个版本上的内省端点都需要使用访问令牌来发出请求。大多数OIDC客户端库将使用JWKs端点来验证签名,为您进行JWT验证。您还应该验证iss、aud和exp是否有效。