用户在 app 点击授权后会跳转网页,在网页确认授权后会把 code 和 state 重定向到回调地址,这时候可以用 code 去调用接口获得 token 。 但是如果回调地址是服务器的话,app 端如何能得知服务器端已经拿到 token 了呢? (长链接?轮询?)
服务器又如何将 token 下发到对应的客户端呢? (使用 state 作为唯一标识?但似乎很多 OAuth 压根不返回 state )
当然也可以曲线救国,例如授权后重定向到 localhost,客户端拿到 code 再去请求服务器获取 token 。 (毕竟 secret 肯定要放在服务器端)
但无论如何都比较丑陋...请问最合理,正确的实现方式是什么呢?
感谢。
1
welkinzh 2020-03-27 17:40:29 +08:00
我之前和 app 端调试,redirect_uri 随便填的,就算回调的 uri 不通也无所谓,授权后的 uri 里是有 code 和 state 的。
当然我不知道这种实现是否合理,想看看大家的做法。 |