【问题标题】:Accessing Third Party Apps After Creating A Session Via API Token通过 API 令牌创建会话后访问第三方应用程序
【发布时间】:2017-03-10 22:17:02
【问题描述】:

我已经搜索了 api 文档以及 StackOverflow,但我还没有找到我的问题的答案。我可能误解了系统的工作原理。

这是我们的客户想要的场景:

  1. 用户登录我们的网站
  2. 此时我们在系统中对用户进行身份验证,并通过 api 进行一次登录。
  3. 用户登录到我们的仪表板后,他们可以单击一个链接并被重定向到他们的第三方分析应用程序,因为我已经使用 One Login 创建了一个新会话。

这是我已完成的步骤。

  1. 我已通过 --> https://developers.onelogin.com/api-docs/1/oauth20-tokens/generate-tokens 成功接收到访问令牌
  2. 我已经成功使用访问令牌通过 --> https://developers.onelogin.com/api-docs/1/users/create-session-login-token 生成会话登录令牌
  3. 我已成功使用会话登录令牌创建新会话。

在发出创建新会话请求后,我从 One Login 接收到正确的 cookie,并且 - 那时 - 如果我输入 URL onelogin.com/login,我会直接进入仪表板。

此时我知道我已通过 One Login 正确地进行了身份验证。但是,我不确定如何通过我们网站上的链接直接访问第三方应用程序。

谢谢。

【问题讨论】:

  • 您有机会告诉我您是如何完成第 3 步的吗?
  • 当然,@Stormcloud。仅供参考——我已经在我的系统中缓存了会话令牌,以便我可以将其返回到模板。无论如何,在Create Session VIA API Token docs 中有样品申请表。我实际上必须提交该表格才能让 OL 向我发送正确的 cookie。我尝试通过 AJAX 提交它,但它总是返回某种类型的 CORS 错误。试试看。
  • 感谢您的更新。我一直在尝试 AJAX 路由(它用于无头系统)并且一直失败。是时候尝试新事物了!
  • 如果你想做 CORS,有一个特定的与 CORS 相关的标头需要传递给 create token 调用。基本上 OL 会阻止对创建会话端点的 CORS 调用,除非您明确告诉它允许您的域 developers.onelogin.com/api-docs/1/users/… - Custom-Allowed-Origin-Header-1

标签: onelogin


【解决方案1】:

两种方式:

如果应用程序支持 SP 启动的 SAML,只需将用户导航到应用程序,它就会完成整个 SAML 流程 - 应用程序重定向到 OneLogin - OL 验证用户(因为您有会话)--- 将 SAML 重定向到应用

使用启动端点 - 您可以使用以下格式创建应用的 URL:https://app.onelogin.com/launch/{app-id}。例如,您可以像这样提供指向应用的链接:

<a href="https://app.onelogin.com/launch/123456">Time Reporting</a>

可以在此处找到有关该端点的详细信息:https://developers.onelogin.com/api-docs/1/embed-apps/get-apps-to-embed-for-a-user

请注意,如果您已经构建了登录外观,您可能会想要使用确保重定向到您的登录页面的可选标志,而不是 OL 的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2015-11-02
    • 1970-01-01
    • 2017-09-19
    • 2013-04-13
    相关资源
    最近更新 更多