我正在设计一个webapp / mobileapp安全流程,其中没有密码,只有通过短信发送到手机的身份验证令牌。这个缺陷?
http://domain.com/invite/ABCD
myapp://invite/ABCD
ABCD
会发送到服务器并交换auth token
和session token
。 Auth token
永久存储在应用中的本地存储中。 Session token
用于连续的api调用,有效期为24小时,然后Auth token
将再次用于换取新的session token
+---+
| |
+---------+ <---------------------------------------------------+ |
| Invite | | S |
| Link | send invite | E |
| rec'd | +---------+ +--------+ token | R |
| via | |WebApp: | | +-----------------------> | V |
| SMS | |deep | | ios App| | E |
| +-> |linked +-> | | receiv auth & | R |
| (token) | |to mobile| | | session token | |
+---------+ |app | | | <----------------------+ | |
|(install)| | | | |
| | | | use session token | |
| | | | for all api calls | |
+---------+ +--------+ +---------------------> +---+
答案 0 :(得分:0)
似乎应该可以,但是请注意您的用户体验。您不希望人们共享链接并进行未经授权的登录,而不是将其视为私人密码。使邀请链接仅可使用一次将使它们类似于Slack使用的“魔术链接”模式,但是我会避免将其称为“邀请”,因为这些往往是您会提供给其他人的东西。