我知道其他人已经问过这个问题,但是我没有找到问题的答案。
我正在构建一个后端,提供使用Django REST Framework编写的API,并使用Django Social Auth集成Facebook。 前端使用AngularJS消耗API 我使用了一个简单的基于令牌的身份验证,一切顺利,当有人通过Facebook验证我可以从数据库检索简单令牌(从未过期)并将其返回到前端,后端将用于后续调用API。
我现在的问题是我想发布我的API并使用oAuth2 为了做到这一点,我使用Django OAuth Toolkit。
如果用户使用本机登录没有问题,因为我使用resource owner password based grant type
(仅提供client_id,因为前端是JS应用程序)。
现在,如果用户使用Facebook进行身份验证,则存在问题!我没有密码可以使用!
这个事实使我在后端重新考虑有关身份验证的所有内容
我想这个:
是否感觉到让我的“官方”前端应用程序使用oAuth2消耗API?
使用基于令牌的身份验证(或基于会话,如果您愿意)不仅仅对我的前端应用程序更好,让第三方应用程序使用oAuth2使用API吗?
而且,如果我喜欢这样,我如何告诉其他应用程序的“官方”应用程序?它不会成为安全漏洞(出于某种原因,我不知道......)