【发布时间】:2020-01-25 05:09:42
【问题描述】:
所以魔术链接的通常流程是:
- 用户点击其电子邮件中的链接(例如 www.domain.com/auth/:token)
- 页面已在电子邮件的应用内浏览器中打开。
- 令牌存储在应用内浏览器的本地存储中,令牌从 URL 中删除(通过重定向或其他方法)。
- 用户已登录(在应用内浏览器中)。
如果用户随后在移动设备的应用内浏览器中单击“在 Safari 中打开此应用”(或其他浏览器),就会出现问题。用户将被注销,因为本地存储状态没有被继承,并且令牌已经从 URL 参数中删除。除非令牌作为查询/参数出现在每个页面 URL 上,这是不安全的并且违背了使用本地存储的目的。
在不提供典型登录流程(用户名/密码)的情况下,此用例的最佳解决方案是什么? (或者这是唯一的方法?)似乎您无法通过实际的浏览器应用程序使用魔术链接浏览 iOS 中的任何应用程序,因为魔术链接将始终来自您的电子邮件应用程序(因此,将始终使用 in-应用浏览器)。
【问题讨论】:
-
在您的情况下,电子邮件的应用内浏览器是什么?
-
您是否在服务器和应用程序之间设置了Universal Links?
标签: ios authorization local-storage access-token