关于Sonos身份验证重定向URI,我有一个问题。在以前的项目中,我使用了一个重定向URI,我的本机应用程序可以拦截这个URI。比如myApp://auth-code。这在Sonos看来是不可能的,因为它期望重定向URI是公开的可路由的和HTTPS。我必须拥有位于本地客户端和Sonos之间的自己的服务器吗?我有种感觉我可能错过了一些简单的东西。耽误您时间,实在对不起。
发布于 2018-10-12 22:21:18
只需有一个虚拟端点,例如做重定向到您自己的自定义方案的防火墙云函数,例如,location.href=“myapp- that ://.”
确保附加查询参数。
您还可以通过嵌入safari can视图来避免打开外部浏览器。
发布于 2020-02-06 10:52:10
如果您使用WebView显示Sonos auth页面,您可以检测显示的WebView的url,然后您可以检测WebView何时加载重定向Uri,获取它(与代码一起)并执行您的操作。这里有一个使用Kotlin的例子:
webView.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) {}
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
super.onPageStarted(view, url, favicon)
// Here you can get url and then Sonos code
if (url != null && url.contains(redirectUri) && url.contains("&code=")) doStuff()
}
}https://stackoverflow.com/questions/52321495
复制相似问题