如何获取 Heroku postgres 凭据以进行下一个身份验证?

2024-01-10

我正在尝试在 Heroku 上使用带有 Next-Auth.js 的 postgres 实例 Heroku 的文档指出,不应将凭证硬编码到应用程序中;所以,我尝试使用 Heroku 的 api 来提取所需的 url。我认为我的问题是当我尝试异步运行 axios 请求时,return 语句的值没有分配给database的财产options目的。我究竟做错了什么?非常感谢!

import NextAuth from "next-auth";
import Providers from "next-auth/providers";
const axios = require("axios");

// Heroku api key and postgres instance
const herokuApiKey = PROCESS.ENV.API_KEY;
const herokuPostgres = PROCESS.ENV.POSTGRES_INSTANCE;

// Connection to Heroku API
const herokuApi = axios.create({
  baseURL: `https://api.heroku.com`,
  headers: {
    Authorization: `Bearer ${herokuApiKey}`,
    Accept: "application/vnd.heroku+json; version=3",
  },
});

// Async function to get database string
const getCredentials = async () => {
  const response = await herokuApi.get(`addons/${herokuPostgres}/config`);
  const pgConnStr = response.data[0].value; // Logging this value displays the needed string
  return pgConnStr; 
};

export default async (req, res) => NextAuth(req, res, {
  providers: [
    Providers.Email({
      server: process.env.EMAIL_SERVER,
      from: process.env.EMAIL_FROM,
    }),
  ],
  database: getCredentials(),
});


Your getCredentials是一个异步函数,这意味着它返回一个承诺。因此你需要await for it.

database: await getCredentials()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 Heroku postgres 凭据以进行下一个身份验证? 的相关文章

随机推荐

  • 如何从其余客户端推送通知以进行测试

    您好 我正在尝试将通知从其余客户端推送到 Android 应用程序 我正在做如下 URL https android googleapis com gcm send Method POST Headers Authorization my
  • Heroku (Docker) nginx 中的 PORT 环境变量

    我只需对 Dockerfile 进行一些修改 即可在 Heroku 上使用 nginx 运行它 Heroku 的特别之处在于 一切都以非 root 身份运行 第二个特定行为是使用来自 Heroku 本身的随机端口 并且无法修改 他们提供了
  • 序列输出的循环 - python

    我一直在努力寻找一种方法 将序列中的 6 聚体打印在单独的行上 这样 注意每行的间距 atgctagtcatc tgctag gctagt ctagtc tagtca etc 到目前为止 我已经能够在字符串中获取序列 如下所示 from B
  • 如何通过代码将Jupyter Notebook保存为HTML?

    我有一个 Jupyter Notebook 程序 它可以为我进行分析 运行后 我想将其保存为 HTML 以便稍后查看 然后我可以更改输入数据文件以对其他数据进行分析 通常 我手动执行此操作 这看起来像 但这对我来说感觉非常乏味 所以我想知道
  • 数据表 - 动态列

    我知道这个问题之前已经被问过 但我的变体与其他答案不匹配 我有一个这种形式的 json 数据源 columns title Store Number data StoreNbr title Store Name data StoreName
  • 如何添加和删除拉斐尔元素的发光?

    我正在尝试为拉斐尔元素设置悬停 以便当鼠标位于元素上时 它会发光 当鼠标离开时 发光会被移除 我已经弄清楚如何添加发光 但我在删除它时遇到了麻烦 我的脚本如下所示 document ready function var paper Raph
  • 如何找到现有数组的下一个数字索引?

    我正在寻找一种简单的方法来获取 PHP 也会选择的新元素的数组的下一个数字索引 示例1 array array array new index 对于这种情况 该值将为 0 示例 1a array array 100 gt prefill 1
  • 一种生成数据集中项目配对的所有可能方式的有效方法

    这在某种程度上是一个组合问题 我正在尝试找出一种有效的方法来配对数据集中的所有项目 例如 我有一个长度为 6 的数组 1 2 3 4 5 6 我想对数组中的内容进行所有可能的配对 如下所示 1 2 3 4 5 6 1 2 3 5 4 6 1
  • sql 按函数分组

    我只需要获取每个产品 ID 具有最高交易时间的行 所以在这种情况下 我需要获取第一行 并且所有其他带有productid 224的行都应该消失 我怎样才能解决这个问题 现在我按 NQ 进行分组 但有多行 因为 NQ 根据每笔交易而变化 我也
  • 如何在 Linux 中正确安装 gsl 库?

    我在安装 GNU Scientific Library gsl 时遇到问题 我将软件包放在桌面上 并根据包含的文档执行了 configure make 和 sudo make install 我检查了 usr local include 目
  • .NET 的未来版本是否支持 C# 中的元组?

    Net 3 5 不支持元组 太糟糕了 但不确定 net 的未来版本是否会支持元组 我刚刚从 MSDN 杂志上读到这篇文章 构建元组 http msdn microsoft com en us magazine dd942829 aspx 以
  • 遍历目录并检查文件的大小

    我想遍历目录和子目录 并检查每个文件的文件大小 如果它与定义的文件大小匹配 它将被删除 我知道 我必须使用 os walk 但我不太确定以哪种方式 我用于目录列表的代码是 import os path C Python27 i 0 for
  • 从两个表中获取数据?

    我有两张桌子 说出表 A 和表 B Table A id Article Name date 1 ABC 25 2 2011 2 xyz 26 2 2011 Table B id Comment Article id 1 good 1 2
  • 我可以在没有 MySQL 表的情况下将 CSS 值保存在我的 WordPress 主题中吗?

    我是 WordPress 主题开发的新手 我无法在这里或通过很多 Google foo 找到答案 所以我想知道这种情况是否可能 我正在为 Themetatic 编写一个子主题 我想为最终用户提供从主题控件中的对话框更改 CSS 颜色值和字体
  • VS2010:在构建后事件中我们可以有多个 if 吗?

    我们可以有这样的东西吗 if Debug ConfigurationName goto nocopy else if Release ConfigurationName del TargetPath config copy ProjectD
  • Lawnchair-IndexedDB 不支持多记录

    我尝试在索引数据库中创建多个记录 但它不允许我 例如耐克和阿迪达斯objectStores var nike Lawnchair adapter indexed db name stores record nike function e c
  • List l = new ArrayList() 和 List l = new ArrayList() 的区别[重复]

    这个问题在这里已经有答案了 以下两个声明有什么区别 List
  • 在监控模式下使用 libpcap 嗅探 wifi

    问题陈述 Calling pcap activate 结果是PCAP ERR RFMON NOTSUP错误 即不支持 RF 监控模式 Context 我正在编写一个小型 C 程序 其工作是在监视器模式下监听我的笔记本电脑的 wifi 卡 该
  • kubernetes StorageClass 不保留现有数据

    当 Pod 被删除并与我的 postgresql 数据库一起部署回时 我的 Kubernetes StorageClass 卷不会保留现有数据 当我删除 Pod 时 会创建新的 Pod 但数据库为空 我遵循了不同版本的教程的变体 https
  • 如何获取 Heroku postgres 凭据以进行下一个身份验证?

    我正在尝试在 Heroku 上使用带有 Next Auth js 的 postgres 实例 Heroku 的文档指出 不应将凭证硬编码到应用程序中 所以 我尝试使用 Heroku 的 api 来提取所需的 url 我认为我的问题是当我尝试