您好,我正在尝试使用React、Express和Firebase创建一个具有身份验证的项目。在创建身份验证的过程中,我不知道为什么这种发送身份验证令牌的方式对我不起作用
import axios from 'axios' import { auth } from '../firebase/firebase' var config = { baseURL: "http://127.0.0.1:5000/", timeout: 5000, } auth.onAuthStateChanged(user => { user.getIdToken(true) .then((token) => { // I have tried this too, unfortunately same results // axios.defaults.headers.common['Authorization'] = `Bearer ${token}` config.headers = { authorization: token } }) .catch(err => { console.log(err) }) }) console.log(config) export default axios.create(config)
当我检查控制台中配置的值时,我得到的是:
{ "baseURL": "http://127.0.0.1:5000/", "timeout": 5000, "headers": { "authorization": "##AUTH TOKEN HERE##" } }然而,当我检查我的
req.headers
在我的快递应用程序,这是我得到的:{ host: '127.0.0.1:5000', connection: 'keep-alive', 'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"', accept: 'application/json, text/plain, */*', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36', origin: 'http://localhost:3000', 'sec-fetch-site': 'cross-site', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', referer: 'http://localhost:3000/', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'en-US,en;q=0.9', 'if-none-match': 'W/"770-rnaTbTjcnfFuL5mkxjLb7fT1wEU"' }如果有任何方法可以使用我使用的工具向后端发送身份验证令牌,请告诉我。任何帮助将不胜感激。
正如@Doug所提到的,Firebase API是异步的,因此您的API请求很有可能在获得ID令牌之前运行。相反,我建议在调用API的函数中获取ID Token,如下所示:
asnyc function callMyAPI() {
const token = await firebase.auth().currentUser.getIdToken()
// Write Axios Request here
// Add the authorization header here
}
问题内容: 我想从我的API请求资源时发送身份验证令牌。 我确实使用$ resource实现了服务: 我有一个存储身份验证令牌的服务: 我想通过服务发送的每个请求都发送令牌。通过将其放入特定动作的调用中,我能够发送它。例如,这有效: 但是我宁愿将access_token定义为服务中的参数,因为它必须随每个调用一起发送。并提高干度。但是工厂中的所有内容仅执行一次,因此access_token在定义工
我试图在PhantomJS中打开一个需要HTTP身份验证的网页。我的脚本基于loadspeed.js示例: 我可以从渲染的page.jpg中看到,我每次都得到401分。我还使用Wireshark跟踪了HTTP会话,这表明GET请求中没有向给定URL发送身份验证标头。 我到底做错了什么?我刚刚开始使用PhantomJS,但我整个晚上都在寻找,没有走远...
在Wordfence文档中说: 过滤器“wordfence_ls_require_captcha”可用于在您选择的情况下禁用captcha。这对于包含RESTendpoint的插件可能很有用,这些endpoint具有不需要captcha的身份验证。必要时,您的过滤器应返回false以绕过captcha要求,或者在需要CAPTCH时返回true 如果我尝试通过JWT进行API调用,我会通过电子邮件收
我有一个LaravelAPI(实际上是LumenAPI)服务于VueJS前端。Vue应用程序允许用户登录到谷歌。然后将Google令牌发送回Lumen API,后者使用Google验证令牌,然后验证电子邮件地址是否为有效用户。然后它生成一个令牌,与用户一起存储在数据库中,并返回用户对象。 我没有使用Passport或jwt auth之类的东西。那么现在,我如何使用默认的Auth中间件来验证(现在已
我试图将用于需要基本HTTP身份验证的第三方服务。我正在使用。以下是我到目前为止的结论: