tim*_*imh 6 security authentication ios
我正在设计一个webapp/mobileapp安全流程,其中没有密码,只有通过短信发送到手机的身份验证令牌.这有什么缺陷?
http://domain.com/invite/ABCDmyapp://invite/ABCDABCD被发送到服务器并交换为a auth token和a 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 | |
+---------+ +--------+ +---------------------> +---+
Run Code Online (Sandbox Code Playgroud)
看起来应该可以,但要注意你的用户体验。您不希望人们共享链接并进行未经授权的登录,而不是将其视为私人密码。让您的邀请链接仅可用一次将使它们类似于 Slack 使用的“Magic Link”模式,但是我会避免将其称为“邀请”,因为这些往往是您会给予其他人的东西。