通过JS前端框架(VUEJS)概念验证PHP API中的用户

通过JS前端框架(VUEJS)概念验证PHP API中的用户,php,mysql,authentication,vue.js,Php,Mysql,Authentication,Vue.js,我正在将一个应用程序分为两个独立的应用程序——PHP和MYSQL将处理应用程序的API/服务器端,我使用VueJs处理前端部分。我有两个应用程序通信、获取和接收数据,没有任何问题 我只是没有理解一个概念,即如何让用户通过Vue端登录,让PHP从登录用户获取所有数据——甚至不确定Vue是否能够处理此类功能——这里是Vue noob 有几件事我很难理解: 1) 保持数据在PHP端的安全是一个主要问题 2) 以安全的方式跨2个应用发送登录凭据 任何想法都将非常感激…不是每说一句就寻找代码,只是一些想法

我正在将一个应用程序分为两个独立的应用程序——PHP和MYSQL将处理应用程序的API/服务器端,我使用VueJs处理前端部分。我有两个应用程序通信、获取和接收数据,没有任何问题

我只是没有理解一个概念,即如何让用户通过Vue端登录,让PHP从登录用户获取所有数据——甚至不确定Vue是否能够处理此类功能——这里是Vue noob

有几件事我很难理解:

1) 保持数据在PHP端的安全是一个主要问题

2) 以安全的方式跨2个应用发送登录凭据

任何想法都将非常感激…不是每说一句就寻找代码,只是一些想法可以稍微打开我的大脑

谢谢,


Sergio对此的一种常见方法是使用(JWT)。您将在发布的站点上找到使用JWTs的PHP和JS库

这个概念是这样的:

  • 客户端向服务器发送登录凭据(用户名/密码)(请确保在此处使用HTTPS)
  • 服务器验证凭据,创建JWT并将其发送到客户端
  • 客户机存储JWT并随每个API请求一起发送
  • 服务器检查JWT是否有效
  • 由于JWT是由服务器签名的,因此将检测到对它的更改,JWT将不再有效


    是一个将JWTs与PHP结合使用的教程

    一种常见的方法是使用(JWT)。您将在发布的站点上找到使用JWTs的PHP和JS库

    这个概念是这样的:

  • 客户端向服务器发送登录凭据(用户名/密码)(请确保在此处使用HTTPS)
  • 服务器验证凭据,创建JWT并将其发送到客户端
  • 客户机存储JWT并随每个API请求一起发送
  • 服务器检查JWT是否有效
  • 由于JWT是由服务器签名的,因此将检测到对它的更改,JWT将不再有效


    这是一个将JWTs与PHP结合使用的教程

    我的回答非常简短,因为这个主题非常大,而且您没有缩小您的问题范围

    首先,如果我使用vue前端和php服务器端开发我的应用程序。我将从vue向php发送一篇带有用户名和密码的api帖子。完成后,php将知道谁登录,并将发送回我通常存储在vue存储区(如vuex)中的用户模型(这是可选的)。如果我在应用程序中进行登录,就会出现这种情况。这意味着在同一台服务器上。安全方面的建议是防止CSRF,并使用api中间件(这是在给出响应之前验证内容的函数,通常在所有请求或指定请求时调用)。您可能会使用一个php框架,它应该通过一个生成的令牌来简化这一过程,该令牌将在api调用头中发送,并通过服务器和其他一些方式进行验证


    现在,如果我正在从外部进行登录呼叫。我将使用OAuth2,并将避免通过http请求发送凭据,而是使用生成的客户端令牌,在php上验证登录后,我将发送回一个带有刷新令牌的api令牌,以保持与服务器的通信活动。现在,您必须使用一个api auth php库来实现这一点,因为我所提到的背后有很多东西。要了解oauth2是如何工作的,请参考这一点。

    我的回答非常简短,因为这个主题非常大,您没有缩小您的问题范围

    首先,如果我使用vue前端和php服务器端开发我的应用程序。我将从vue向php发送一篇带有用户名和密码的api帖子。完成后,php将知道谁登录,并将发送回我通常存储在vue存储区(如vuex)中的用户模型(这是可选的)。如果我在应用程序中进行登录,就会出现这种情况。这意味着在同一台服务器上。安全方面的建议是防止CSRF,并使用api中间件(这是在给出响应之前验证内容的函数,通常在所有请求或指定请求时调用)。您可能会使用一个php框架,它应该通过一个生成的令牌来简化这一过程,该令牌将在api调用头中发送,并通过服务器和其他一些方式进行验证


    现在,如果我正在从外部进行登录呼叫。我将使用OAuth2,并将避免通过http请求发送凭据,而是使用生成的客户端令牌,在php上验证登录后,我将发送回一个带有刷新令牌的api令牌,以保持与服务器的通信活动。现在,您必须使用一个api auth php库来实现这一点,因为我所提到的背后有很多东西。要了解oauth2的工作原理,请参阅此部分。

    感谢您的输入。。。对JWT做了一些研究,这就是我想要的。谢谢你的投入。。。对JWT做了一些研究,这就是我想要的。你的第二种方法就是我想要的。。。这些应用程序将位于不同的服务器中,需要以安全的方式进行通信。这是我正在构建的第一个使用两个不同服务器的应用程序,所以这个概念对我来说是全新的。谢谢你的反馈和建议。你的第二种方法就是我想要的。。。这些应用程序将位于不同的服务器中,需要以安全的方式进行通信。这是我正在构建的第一个使用两个不同服务器的应用程序,所以这个概念对我来说是全新的。感谢您的反馈和建议。