请求添加一个链接到我们的某个网站,可以在iOS或Android上打开我们的移动应用程序,并通过传入身份验证令牌登录到应用程序。如果这些应用程序在任何一个平台上都不存在我需要它回到相关的网站。
根据我对通用链接或深层链接的理解,它们的目的是将您带到应用程序中的特定页面,而不是传递参数。自定义网址方案似乎更合适,但也不支持相同的方式,并且回退到网络是有问题的。
如果有人曾经设置过这样的东西并拥有我可以看到的资源,我们将不胜感激。
感谢。
答案 0 :(得分:5)
可以像这样构建一个深层链接的身份验证系统,但有一些重要的注意事项:
URI方案和Universal Links不支持传递参数,但它们可用于构建这样的系统(例如,Slack使用URI方案链接进行着名的“魔术链接”移动登录过程)。但是,它们仅在已安装应用程序时才有效。两者都不允许您在整个安装过程中保留上下文,这限制了它们的用途。
Branch.io(完全披露:我在分支机构团队中)链接可以用来为这样的体验提供动力。与URI方案和通用链接不同,我们 do 允许您为每个链接传递真实的key:value参数对,并且我们在该字段中具有最好的matching accuracy。我会做以下事情:
sendSMS()
function),也可以直接使用API。+match_guaranteed
parameter以确保您拥有正确的用户(请参阅上面的博客文章,了解有关如何验证此信息的更多信息)。+match_guaranteed
返回true
,请根据存储在后端的值验证返回的令牌并将用户登录。如果false
或令牌未验证,请处理错误(可能是要求用户手动登录)。为了使此额外安全,请将令牌存储在后端,并附带到期时间戳(可能是5-10分钟),如果链接过时,则不允许自动验证。这将阻止在以后某处找到并重用URL,并且如果有人稍后检索链接的内容,也会确保不会发生任何不良事件。