0

知道如何测试

我有一个从 Asana API 检索数据的 GWT 应用程序。

自弃用 OAuth 2.0 'http' 重定向以来,我一直无法在本地进行测试。

Asana Docs ( https://asana.com/developers/feed/oauth-http-redirect-deprecation ) 说我可以使用 stunnel:“对于非生产或个人使用,您可能希望查看 stunnel,它可以起作用作为接收加密连接、解密并将其转发到您的应用程序的代理”

到目前为止,我的 stunnel 配置是:

[asana_test]
accept  = 9999
connect = 8888
cert = stunnel.pem

我的应用程序配置为:

"auth_uri":"https://app.asana.com/-/oauth_authorize",
"token_uri":"https://app.asana.com/-/oauth_token",
"redirect_uris":["https://127.0.0.1:9999/asanaoauth2callback"],
"javascript_origins":["http://127.0.0.1:8888"]

但是我在网址https://127.0.0.1:9999/asanaoauth2callback?code=xxxx上收到 500 错误:

HTTP ERROR 500
Problem accessing /asanaoauth2callback. Reason:
Could not verify SSL certificate for URL: https://app.asana.com/-/oauth_token
4

1 回答 1

0

我是 Asana 的开发者倡导者。我也许可以告诉你问题的答案,但首先,值得强调的是应该有一个更简单的方法:

tl;dr:在某一时刻,由于主动安全修复,我们对重定向 URI 检查变得过于严格。从那以后,我们对测试/开发应用程序放宽了一点:当且仅当您的应用程序的重定向 url 以“ http://localhost ”开头时,我们应该允许您使用该 url 而无需使用https重定向。


或者,隧道路线旨在为选择走这条路线的人们提供一种解决方法。我怀疑 stunnel 使用的证书是自签名的,因此当您的应用程序尝试重定向到该位置时,无论被重定向的内容(可能是浏览器)都不喜欢该证书 - 它相当于“这个网站是不安全的”当您访问任何拥有不是来自证书颁发机构的证书的网站时,就会发生大红锁事件。

(对我来说有点奇怪的是,它似乎是在说它无法验证 asana.com 的证书——这确实是由 CA 颁发的。这是一个单独的问题,更难调试,因为它应该绝对没问题尝试使用https)连接到 asana.com

于 2017-05-03T01:18:13.177 回答