我正在使用https://packagist.org/packages/ajimix/asana-api-php-class集成Asana OAuth2
当我在Asana上设置我的应用程序并使用内部url时,例如https://intranet,我的重定向总是失败
invalid_request: The `redirect_uri` parameter does not match a valid url for the application但是,当我使用任何公共url时,比如https://www.domainname.com,它就可以工作了。然后,我可以将code参数附加到我的内部页面。
有没有办法使用一个内部的网址,即。一个不在公共DNS上的?
发布于 2016-11-02 07:18:39
我是Asana的开发者倡导者。直观地说,我认为访问重定向不会有任何困难,因为它是一个重定向-我们根本不会尝试访问URL,而是告诉您的浏览器重定向到包含访问Asana的授权的URL。如果您浏览时浏览器可以转到该url,则浏览器可以在指示使用重定向时转到该url,对吧?所以我调查了一下以防万一。
当我们将您为OAuth应用程序提供的重定向url与您在生成应用程序时注册的url进行比较时,将发送回特定的错误代码-即,将您的凭据与位置白名单进行比较(长度为1,但单个白名单是什么?白值?)这是可以重定向到的。如果您尝试验证时URL不是该值,我们将返回该错误,并且该特定错误看起来不会涉及更深层次的错误检查(我们不会尝试ping您的重定向位置)。
我认为这里可能发生的情况是,您在Asana上将OAuth应用程序注册为重定向到特定的URL,而当您pinging https://app.asana.com/-/oauth_authorize端点时,您在redirect_uri参数中传递了一个不同的URL。由于它与您为其注册应用程序的版本不匹配,因此我们会发回该错误。(这就是我们所说的“成功或错误时重定向到的URI。这必须与应用程序设置中指定的重定向URL匹配。”在描述OAuth工作流here时。
如果是这种情况,您可以更改应用程序的重定向URL,或者注册一个使用intranet URL的新OAuth应用程序,并使用该凭据向Asana进行授权。
我希望这是根本原因,但如果情况并非如此(如果在Asana中注册了URL,而您确实在尝试授权时传递了相同的URL),请务必让我们知道,我将深入研究!
-Matt
https://stackoverflow.com/questions/40368771
复制相似问题