当前位置: 首页 > 知识库问答 >
问题:

在POSTMAN中获取Firebase访问令牌

邢皓
2023-03-14

在我的web应用程序中,我使用Firebase进行身份验证,要访问任何API,我必须从Firebase进行身份验证。

问题:如何在Postman中获取firebase的访问令牌?

我有两种解决此问题的方法

1) 在postman中从firebase获取访问令牌,并将该访问令牌存储在postman global env中。变量,然后我可以执行其他API请求。(这里我不知道如何在邮递员那里获得访问令牌)

2)在浏览器中登录,从网络请求中复制访问令牌,将其存储在bash_profile中,然后在Postman中使用。(这里我不知道如何阅读操作系统环境变量)

共有3个答案

林星华
2023-03-14

转到预请求脚本并添加此代码(使用API\u密钥、USER\u电子邮件、USER\u密码)

  const reqObject = {
    url: "https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key={API_KEY}", // API_KEY -> your API key from firebase config 
    method: 'POST',
    header: 'Content-Type:application/json',
    body: {
        mode: 'raw',
        raw: JSON.stringify({ "email": {USER_EMAIL}, "password": {USER_PASSWORD}, "returnSecureToken": true })
    }
};

pm.sendRequest(reqObject, (err, res) => {
    const idToken = res.json().idToken;  // your idToken
    pm.environment.set("FIREBASE_TOKEN", idToken ); // set environment variable FIREBASE_TOKEN with value idToken 
});

此代码将添加环境变量FIREBASE\u TOKEN,但您可以使用idToken做任何事情。)

翟永春
2023-03-14

从firebase检索访问令牌的一种简单方法是:

  1. 在目录中创建一个html文件
  2. 在html文件中复制Firebase身份验证快速入门的内容
  3. 替换Firebase web设置中解释的firebase-app.js和firebase-auth.js,将它们指向web上正确的cdn位置
  4. 将firebase.init脚本替换为控制台上应用程序的初始化代码,如下所示:
var config = {
    apiKey: "my secret api key",
    authDomain: "myapp.firebaseapp.com",
    databaseURL: "https://myapp.firebaseio.com",
    projectId: "myapp-bookworm",
    storageBucket: "myapp.appspot.com",
    messagingSenderId: "xxxxxxxxxxxxx"
};
firebase.initializeApp(config);

在浏览器中打开html文件并登录或注册。应显示Firebase身份验证当前用户对象值。

检查html并展开quickstart account details元素。这应该显示json对象。

复制accessToken的内容

在postman转到授权中,选择无记名令牌并将复制的令牌粘贴到令牌值字段中。

您现在应该能够调用由firebase auth保护的API。请记住,这只会获取和传递访问令牌,因此一旦令牌过期,您可能需要请求一个新的令牌(步骤5到8)

你也可以看看这个
希望这有帮助!

通飞尘
2023-03-14

当您只想使用Postman而不想构建前端时,可以在Postman中使用此身份验证请求:POSThttps://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key={API\U密钥}

在正文中,应发送以下JSON字符串:

{"email":"{YOUR_EMAIL_ADDRESS}","password":"{PASSWORD}","returnSecureToken":true}

内容类型为application/json(将在Postman中自动设置)。您可以在Firebase项目设置中找到Firebase API\u密钥(它是Web API密钥)。

作为响应,您将得到一个JSON对象,idToken是所有API请求所需的作为承载令牌的令牌。

要自动设置此令牌,您可以应身份验证请求在“测试”选项卡中添加以下代码

var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("id_token", jsonData.idToken);

对于您的所有API请求,您应该将授权设置为承载令牌,令牌的值为{{id_token}}

现在,一旦执行了身份验证请求并获得响应,就会自动使用令牌。

 类似资料:
  • 我有一个由 AAD B2C 访问令牌保护的 REST API。我现在想要添加可用于 API 负载测试的 Web 测试。 我跌跌撞撞地从AADB2C为我的测试用户获取了一个有效的访问令牌。我想以某种方式从对AADB2C的REST API调用中获取一个令牌作为响应。 在网上朝这个方向看,我已经找到了许多指向这个没有记录的endpoint的页面 其中我需要提供一些参数。到目前为止,我发现 < li >客

  • 我正在尝试使用邮递员应用程序从keycloak获取访问令牌。我使用的流是身份验证代码流。URI am提供的身份验证是 http://localhost:8080/auth/realms/realm_name/openid-connect/token 即使在keycloak中,我在clients下的Security-admin-console中将有效的重定向URI修改为http://localhos

  • 我正在尝试使用postman对firebase进行RESTAPI调用。当我的安全规则是允许所有用户,包括未经授权的用户时,我已经设法从firebase读取。 但当我使用这个规则时: 我从邮递员那里得到“错误”:“许可被拒绝”。我为谷歌的web oauth2.0客户端做了请求令牌,并拿回了authorization_code令牌。 我试图在URL和标题中使用令牌,用GET尝试过 请帮忙。提前谢谢

  • 我已经实现了FacebookSDK,借助它可以通过以下代码获得facebook身份验证和用户信息。 但是要发布提要(https://graph.facebook.com/me/feed/access_token=)从这个登录用户我需要访问令牌。如果有人知道如何在iOS 6.0中获取访问令牌,请帮助我。 感谢所有人。

  • 我如何为我自己的用户获取Spotify访问令牌,而不是从Postman处获取? 我想使用邮递员从Spotify获取访问令牌(无需之前的手动登录)。 如果这很复杂,我会接受先手动登录,然后再从Postman获取令牌。 < li >要获得访问令牌(将在我自己的Postman请求中进一步使用),我必须在登录Spotify开发者网站时手动获得一个。 因此,我想直接从Postman获得它,在那里我可以立即在

  • 获取访问令牌的文档中的第一步是“将用户引导到我们的授权URL”。那到底是什么意思?没有提供链接或任何东西。它还说“公司名称、联系电子邮件和隐私政策URL是开始提交的必要条件。”我们的应用程序没有隐私政策...只是一个简单的标签提要。我不明白为什么有一个简单的标签提要那么复杂。 是否有一个等待时间来获得批准的应用程序..如果它得到批准...在获得访问令牌之前,我必须获得批准吗?这在任何地方都没有概述