JWT项目-Firebase/Php-JWT-简介
时间:2020-02-23 14:46:19 来源:igfitidea点击:
在本项目教程中,我们将创建一个新的Php项目,并将使用Firebase/Php-JWT包生成JSON Web令牌。
在简介教程中,我们了解了JWT。
随时检查一下。
需求
对于该项目,我们将需要以下内容。
本地PHP开发环境。
尝试MAMP/XAMPP/WAMP。编写程序包管理器。
firebase/php-jwt软件包以生成JWT并对其进行验证。
您可以在我的GitHub存储库jwt-php-project中找到该项目的代码。
让我们开始吧。
创建一个新项目
打开您喜欢的文本编辑器或者IDE,然后创建一个新的PHP项目文件夹。
对于本教程,我要命名我的项目jwt-php-project。
$mkdir jwt-php-project && cd jwt-php-project
获取firebase/php-jwt软件包
使用composer获取firebase/php-jwt软件包,并输入以下命令composer require firebase/php-jwt
。
$composer require firebase/php-jwt Using version ^5.0 for firebase/php-jwt ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing firebase/php-jwt (v5.0.0) Downloading: 100% Writing lock file Generating autoload files
在撰写本教程时,我正在使用firebase/php-jwt版本5.0.0。
上面的命令将创建vendor
目录,并其中下载firebase/php-jwt软件包。
创建index.php文件
在项目文件夹中创建一个index.php文件。
在此文件中,我们将创建一个登录表单。
创建一个登录表单
在index.php文件中,创建一个登录表单。
<form id="login"> <div class="form-group"> <label for="email">Email</label> <input type="email" maxlength="255" class="form-control" id="login-email" required> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" maxlength="32" class="form-control" id="login-password" required> </div> <div class="form-group"> <input type="submit" class="btn btn-primary" value="Log in"> </div> </form>
该表单包含一个电子邮件字段,一个密码字段和一个登录按钮。
成功登录后,它将为用户生成一个JWT,稍后我们将使用它来获取用户详细信息。
创建一个script.js文件
在项目文件夹中,在js文件夹中创建一个script.js文件。
这将保存JavaScript代码以从服务器发送和接收数据。
将此文件包含在index.php文件中。
index.php文件
我们的索引页面将如下所示。
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"> <title>JWT PHP Project by </title> </head> <body> <div class="container"> <div class="row"> <div class="col-xs-12 offset-sm-4 col-sm-4"> <h3 class="text-center">jwt-php-project</h3> <br> <h4 class="text-center">Login</h4> <form id="login"> <div class="form-group"> <label for="email">Email</label> <input type="email" maxlength="255" class="form-control" id="login-email" required> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" maxlength="32" class="form-control" id="login-password" required> </div> <div class="form-group"> <input type="submit" class="btn btn-primary" value="Log in"> </div> </form> </div> <div class="col-xs-12 offset-sm-4 col-sm-4"> <hr> <div id="result-container"></div> </div> </div> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> <script src="js/script.js"></script> </body> </html>
现在,我们的项目index.php页面将如下所示。