首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传递给createTokenAuth的令牌不是字符串: octokit,auth-token

传递给createTokenAuth的令牌不是字符串: octokit,auth-token
EN

Stack Overflow用户
提问于 2020-04-06 11:07:17
回答 1查看 976关注 0票数 0

我正在尝试构建一个GitHub应用程序,并遵循https://probot.github.io/docs/https://octokit.github.io/rest.js/v17#authentication。它基本上是一个nodejs应用程序。

我没有使用nodejs或类型记录的经验,甚至连probot框架都没有。

PRIVATE_KEY_PATH位于.env文件中,如下所示:

代码语言:javascript
复制
PRIVATE_KEY_PATH=my-app.2020-04-03.private-key.pem

.pem文件位于项目的根目录中。

打印字符串:

index.js

代码语言:javascript
复制
/**
 * This is the main entrypoint to your Probot app
 * @param {import('probot').Application} app
 */



        const{Octokit} = require("@octokit/rest");
        const{createAppAuth} = require("@octokit/auth-token");

         console.log('PRIVATE_KEY',process.env.PRIVATE_KEY_PATH);
         console.log('-------------TypeOf token ----', typeof process.env.PRIVATE_KEY_PATH)

         const appOctokit = new Octokit({
           authStrategy:createAppAuth,
           auth:{
             id:12345,
             privateKey: process.env.PRIVATE_KEY_PATH,
            //  privateKey: 'token ${process.env.PRIVATE_KEY_PATH}'
            }
         });

我一直在犯错误:

代码语言:javascript
复制
10:52:51.166Z ERROR probot: [@octokit/auth-token] Token passed to createTokenAuth is not a string

在网上找不到很多关于这个话题的帮助。我甚至尝试导航octokit https://github.com/octokit/auth-token.js/blob/master/src/index.ts的代码,看起来我的代码没有做错什么。

除了文档之外,对于GitHub应用程序或probot框架的问题,参考的资源不多。StackOverflow也有大约20-30个与GitHub应用程序或probot框架相关的问题。

编辑1:启动

运行以下代码:

代码语言:javascript
复制
/**
 * This is the main entrypoint to your Probot app
 * @param {import('probot').Application} app
 */

 const{Octokit} = require("@octokit/rest");

 const{createAppAuth} = require("@octokit/auth-token");

 console.log('PRIVATE_KEY',process.env.PRIVATE_KEY_PATH);
 console.log('-------------TypeOf token ----', typeof process.env.PRIVATE_KEY_PATH)

产生以下错误:

代码语言:javascript
复制
ERROR probot: appFn is not a function
  TypeError: appFn is not a function

编辑1: END

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 17:52:09

如果您使用Probot,您不需要加载您自己的@octokit/rest或任何@octokit/auth-*包,它都内置在Probot中

您试过https://probot.github.io/上显示的示例代码吗?

代码语言:javascript
复制
module.exports = app => {
  app.on('issues.opened', async context => {
    const params = context.issue({
      body: 'Hello World!'
    })
    await context.github.issues.createComment(params)
  })
}

Probot将自动读取.env文件的内容,查找PRIVATE_KEY_PATH环境变量,在该位置读取文件的内容,并为您设置JWT/installation身份验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61058382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档