使用 Twitter 登录是 Web 和移动应用程序的标准身份验证功能。 Twitter 提供 OAuth 1.0a 和 OAuth 2.0 这两种不同的身份验证 API,用于通过其应用程序登录。
在编写本教程之前,我尝试使用 OAuth1.0a 和 OAuth 2.0 进行身份验证,但 OAuth 2.0 存在一个主要问题。 如果您使用 OAuth 2.0 进行身份验证,Twitter 开发人员应用程序不会为任何用户提供电子邮件 ID。 每次用户通过 Twitter 登录时,您都需要手动获取用户的电子邮件。 如果你没有收到电子邮件,那么 Laravel 将抛出错误,指出“用户电子邮件不应为空”。
所以,如果你通过 Laravel 登录,你需要用户的电子邮件地址,而目前 Twitter API 不提供任何选项。
基于此,我将使用 OAuth1.0a API,它提供了一个选项来为尝试通过 Laravel 11 应用程序登录的用户获取电子邮件地址。
以下是使用 Socialite 包通过 Twitter / X 创建 Laravel 11 应用程序身份验证的分步指南:
第 1 步:安装 Laravel 11 样板
使用以下命令安装 Laravel:
composer create-project --prefer-dist laravel/laravel twitterlogin
进入项目文件夹:
cd twitterlogin
第2步:配置数据库
在本教程中,我使用 MySQL 数据库。
要将我们的 Laravel 应用程序连接到 MySQL 数据库,您需要修改 .env 文件。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=8889 DB_DATABASE=twitterlogin DB_USERNAME=root DB_PASSWORD=root
第 3 步:安装 Jetstream
Jetstream 为您的应用程序的登录、注册、电子邮件验证、双因素身份验证、会话管理、通过 Laravel Sanctum 的 API 以及可选的团队管理功能提供实现。
要在 Laravel 中安装 Jetstream,请使用以下命令:
composer require laravel/jetstream
安装后,您需要发布Jetstream的资产。
php artisan jetstream:install livewire
它将安装一些库、创建表和一些配置。
第四步:安装社交名流包
Socialite 包是 Laravel 中社交身份验证的首选包。
使用以下命令安装软件包:
composer require laravel/socialite
另外,使用以下命令迁移表:
php artisan migrate
第 5 步:创建 Twitter 开发者应用程序
要通过 Twitter 进行身份验证并使用其 API,我们需要从其开发人员门户创建一个开发人员应用程序。
注册 Twitter 开发者门户。
注册后,您需要为您的项目创建一个应用程序,如下所示:
命名您的应用程序后,下一步是“密钥和令牌”,如下所示:
之后,我们的应用程序就创建好了。
下一步是设置用户身份验证设置
在下一步中,我们将为 Twitter 开发者应用程序设置权限。
帖子浏览量:0 分享于:
克鲁纳尔·拉蒂亚
Krunal 在计算机科学领域拥有八年多的职业生涯,他的专业知识植根于坚实的实践经验基础,辅之以对知识的不断追求。
如何使用 Laravel 11 和 React.js 创建 CRUD 应用程序
资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载