Oauth 2.0 yammer oauth对抗外部网络?

Oauth 2.0 yammer oauth对抗外部网络?,oauth-2.0,yammer,Oauth 2.0,Yammer,使用yammer OAuth,是否可以在外部yammer网络上注册应用程序,然后根据该外部网络而不是主网络对用户进行身份验证 2014年9月30日更新——为了澄清,我的目标是使用yammer oauth作为我自己(基于python)应用程序的网关,只允许外部网络的用户访问 我已经在一个非SSO主网络和外部网络组合上实现了这一点。在外部网络用户通过yammer成功登录后,他们被重定向到我的回调url,我打电话到/networks/current。然后我可以检查目标外部网络id是否出现在他们的列表中

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

2014年9月30日更新——为了澄清,我的目标是使用yammer oauth作为我自己(基于python)应用程序的网关,只允许外部网络的用户访问

我已经在一个非SSO主网络和外部网络组合上实现了这一点。在外部网络用户通过yammer成功登录后,他们被重定向到我的回调url,我打电话到/networks/current。然后我可以检查目标外部网络id是否出现在他们的列表中,如果出现,请让他们进入


当我将我的应用程序切换为使用在启用SSO的主网络和非SSO外部网络上注册的应用程序的API凭据,并尝试使用外部网络用户登录时,一切都停止工作。yammer登录过程完成后(注意:yammer将他们踢出SSO端点并在那里完成登录),用户被重定向回我的应用程序,我会收到一个
403禁止的错误
。这个过程从来不会调用我来获取他们的网络…如果我尝试与主用户(启用SSO的网络)登录,它会起作用(我的自定义登录会使他们失败,因为他们不是正确网络的成员)。

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

  • 开口铬
  • 登录到外部网络
  • 右键单击->检查元素
  • 单击网络选项卡
  • 刷新页面
  • 双击包含“../api/v1/…”的任何行
  • 单击侧面板中的“标题”选项卡
  • 在“授权:持票人…”中找到令牌
  • 然后,你可以在休息时传递该持票人代币


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

    您需要全球化您的SSO应用程序以使其正常工作。为此,您需要向Yammer帮助热线提出请求。

    感谢您的回复。我已经成功地找到了一个解决方法来实现这一点,但目前我无法让它与支持SSO的网络(此应用程序的生产网络)一起工作。鉴于您有一些yammer SSO的经验,也许您可以解释一下?对不起,再次阅读您的回复,我可能误读了。您描述的方法当然可以用于获取令牌。然后我如何使用它向yammer验证我的应用程序用户?请参阅更新的帖子,以了解有关我的应用程序目标的说明。一旦获得令牌,就可以使用令牌设置授权标头,如:yam.platform.setAuthToken(“VALID_token_VALUE”,function(){yam.getLoginStatus(函数(response){if(response.authResponse){console.log(“登录”);}else{alert(“未登录”)}}}});您可以共享到帮助热线的链接吗?您可以将您的查询记录在上,因为您需要Microsoft的凭据。或者,您可以在此论坛上发布您的查询,