Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';生成对RESTAPI的授权访问的最佳方法是什么?_Java_Firebase_Rest_Authentication_Jwt - Fatal编程技术网

Java 什么';生成对RESTAPI的授权访问的最佳方法是什么?

Java 什么';生成对RESTAPI的授权访问的最佳方法是什么?,java,firebase,rest,authentication,jwt,Java,Firebase,Rest,Authentication,Jwt,我有一个使用RESTAPI的应用程序。结构如下 电子邮件和密码凭证存储在Firebase中。因此,身份验证发生在firebase端 后端是一个RESTAPI。我正在使用JWT令牌来授权对RESTAPI的访问 电子邮件和盐渍哈希密码也存储在本地数据库中。(在下面,您将看到原因) 现在,为了请求JWT令牌,我有一个名为身份验证(电子邮件、密码)的方法。我将电子邮件和密码作为参数传递。这将与本地数据库交叉检查我的凭据,并为我释放一个JWT令牌。在应用程序中使用REST API时,只有在使用fireba

我有一个使用RESTAPI的应用程序。结构如下

  • 电子邮件和密码凭证存储在Firebase中。因此,身份验证发生在firebase端
  • 后端是一个RESTAPI。我正在使用JWT令牌来授权对RESTAPI的访问
  • 电子邮件和盐渍哈希密码也存储在本地数据库中。(在下面,您将看到原因)
  • 现在,为了请求JWT令牌,我有一个名为
    身份验证(电子邮件、密码)
    的方法。我将电子邮件和密码作为参数传递。这将与本地数据库交叉检查我的凭据,并为我释放一个JWT令牌。在应用程序中使用REST API时,只有在使用firebase对用户进行身份验证后,才会调用此
    身份验证(电子邮件、密码)
    方法

    现在,我们有一个问题。我在本地数据库中拥有凭据,从而破坏了firebase的概念。我甚至不能使用firebase提供的easy密码请求功能,因为我有本地凭证副本,需要更新

    我将凭证存储在本地数据库中的唯一原因是生成对RESTAPI的授权访问。我本可以在没有密码的情况下轻松地使用
    身份验证(电子邮件)
    ,但我认为任何拥有电子邮件的人都可以通过使用
    邮递员等工具轻松访问。因为你只是通过你的电子邮件,你有JWT代币,那么你就可以走了

    但我在本地数据库中存储密码副本的方法现在是一团糟。向用户生成授权(JWT令牌)的最佳方式是什么?仅仅使用
    身份验证(电子邮件)
    就足够了吗

    更新

    我正在使用亚马逊服务。因此,如果有可能的话,我愿意接受这样的选择,比如阻止除应用程序之外的访问