node.js - Nodejs Passportjs 关于使用 Facebook、google 或电子邮件登录的 React 前端的策略的问题
问题描述
正如标题所说,我正在尝试构建一个简单的 Web 应用程序,它具有 3 种不同的登录方式并将 React 作为前端。其中两个是 Google 和 Facebook oauth,最后一个是用户注册的简单电子邮件和护照。我的问题是我应该使用哪些策略?我的猜测是我需要passport-facebook和passport-google-oauth和passport-jwt。但我可能错了。由于我的前端是 React,我什至需要本地护照吗?
解决方案
你可以同时使用这两种策略。这真的取决于你在做什么。就我个人而言,我总是使用 Google 策略,然后将 accessToken 或其他信息存储在护照会话中。我个人更喜欢使用 Google 方法,因为我们开发的 80% 都大量使用了 Google API 范围(即 Calendar Api、Drive Api)。谷歌策略对我很有用,因为一旦我有了谷歌个人资料数据,我就可以利用这些信息传递给一些谷歌 API 服务。IE:
const getGoogleDriveResources = async (userToken, driveId = 'root') => {
const oauth2Client = new google.auth.OAuth2();
oauth2Client.setCredentials({
'access_token': userToken, // This is the accessToken from passport google authtentication
});
const drive = await google.drive({
version: 'v3',
auth: oauth2Client,
});
我希望这对你有用
推荐阅读
- django - 每个请求中的新 sessionid
- python - 从二进制掩码裁剪图像
- python-3.7 - 如何在 sanic 应用程序中为 tortoise-orm 初始化 db?
- jquery - 使用jQuery查找某些文本,如果存在,则将元素附加到附近的某个元素
- java - 在 Java 中解析来自 C++ 的 protobuf 消息的序列化字符串失败
- arrays - 在 Tradingview 下使用数组时在输入“[”处出现语法错误
- python - UnicodeEncodeError:字符映射到
用于写入存档 python - angular - 在 NgModule 中访问 location.host
- python - 将字符串转换为原始浮点数
- amazon-web-services - 使用 AWS Api Gateway 进行 Api 组合