通过电子邮件/密码在API上实现OAuth以进行身份​​验证

时间:2018-09-06 09:53:24

标签: android authentication oauth api-authorization

我只是继承了API的所有权(用Python / Flask编写并在AWS上运行,带有MongoDB后端),其中唯一的身份验证是手动电子邮件/密码登录。

当前过程是:

  1. 从用户(通过应用程序)获取电子邮件和密码。
  2. 提交给API,一旦验证密码,该API将在JSON对象中返回API密钥。
  3. 在所有后续API调用中使用API​​密钥以利用服务。

此API用作多个Android应用程序的后端。 现在,我想添加OAuth,以允许用户使用Google Auth进行登录/注册,但是在实现此功能时遇到了绊脚石:

我无法使用任何其他身份验证,例如Firebase Auth,因为即使在应用程序(电子邮件/密码或Google)上完成身份验证后,如果没有手动密码,我也无法获得API密钥(由于其实施方式)。

我已经遍历以下主题here on SOOAUth website,但是如何解决这个问题却一无所知。

我该如何处理?我必须重写API吗?我之所以这样问是因为,如果我“信任” OAuth模块,则必须向其公开一个端点和敏感数据(不使用API​​进行身份验证),这是一个糟糕的主意。

0 个答案:

没有答案