yammer oauth反对外部网络?

时间:2014-07-28 23:06:07

标签: oauth-2.0 yammer

使用yammer OAuth,是否可以在外部yammer网络上注册应用程序,然后针对此外部网络而不是主网络对用户进行身份验证?

更新9/30/2014 - 澄清一下,我的目标是使用yammer oauth作为我自己的(基于python的)应用程序的网关,只允许外部网络的用户进入。< / p>

我已经开始使用非SSO主要&amp;外部网络组合。在外部网络用户通过yammer成功登录后,他们被重定向到我的回调网址,我打电话给/ networks / current。然后,我可以检查目标外部网络ID是否出现在他们的列表中,如果是,请让他们进入。

当我将我的应用程序切换为在启用SSO的主网络上注册的应用程序使用API​​凭据时非SSO外部网络,并尝试与外部网络用户登录,事情停止工作。在yammer登录过程完成后(注意:yammer将它们踢到SSO端点并在那里完成登录),并且用户被重定向回我的应用程序,我得到403 forbidden error。这个过程永远不会让我接到他们的网络...如果我尝试登录主要用户(启用SSO的网络),它可以工作(我的自定义登录失败了,因为他们不是正确的网络的成员)。

2 个答案:

答案 0 :(得分:1)

您需要全球化您的SSO应用以使事情顺利进行。为此,您需要向Yammer帮助台提出请求。

答案 1 :(得分:0)

我最近尝试了同样的实现,并且没有工作,因为与外部网络的访问令牌相关联的(经过身份验证的用户)的userID是家庭网络的用户ID 。我通过以下方式解决了这个问题:

  1. 打开Chrome
  2. 登录外部网络
  3. 右键单击 - &gt;检查元素
  4. 单击“网络选项卡”
  5. 刷新页面
  6. 双击包含'.... / api / v1 / ...'
  7. 的任何行
  8. 单击侧面板中的标题选项卡
  9. 令牌可在“授权:承载......”中找到。
  10. 然后,您可以在REST request header

    中传递该承载令牌

    注意:Mine是一个支持SSO的网络,因此您的里程可能会有所不同:)