r-将oauth令牌存储为github机密



我使用Rhttr在oauth端点(strava(使用oauth_endpoint()oauth_app()oauth2.0_token()对自己进行身份验证(步骤1(。

# Step 1: Genrate oauth token
strava_endpoint <- oauth_endpoint(
request = NULL,
authorize = "authorize", 
access = "token",
base_url = "https://www.strava.com/api/v3/oauth/"
)
myapp <- oauth_app(
"strava", 
key = 0000000,        # <- my key
secret = "mysecret"   # <- my secret
)
mytok <- oauth2.0_token(
endpoint = strava_endpoint, 
app = myapp,
scope = c("activity:read_all"),
cache = TRUE
)

最后一个函数要求我通过浏览器进行身份验证,并允许请求的作用域,然后将其缓存为令牌.httr-oauth。这样做一次之后,我可以通过strava API(步骤2(将这个令牌文件与readRDS()一起使用GET()

# Step 2: Use the file ".httr-oauth" got use the API (GET)
mytok <- readRDS(".httr-oauth")[[1]]
GET("https://www.strava.com/api/v3/athlete", config(token = mytok))
Response [https://www.strava.com/api/v3/athlete]
Date: 2022-03-09 07:53
Status: 200
Content-Type: application/json; charset=utf-8
Size: 650 B

这在本地运行良好。但是,我想代表我将此令牌传递给GET()的github操作。换句话说,我想在本地执行步骤1,并在Github Action(步骤2(中使用生成的令牌(文件.httr-oauth(

但是,由于这个令牌是一个秘密,应该添加到.gitignore中,所以我不知道如何验证github操作。

我想我可以添加.httr-oauth作为github机密,但它似乎是一个加密文件。

是否有其他方法可以通过API(例如strava(授权github操作GET()我的数据?

,但它似乎是一个加密文件。

;在工作流程中使用加密的秘密";显示您应该能够检索该秘密的值:

steps:
- name: Hello world action
with: # Set the secret as an input
super_secret: ${{ secrets.SuperSecret }}
env: # Or as an environment variable
super_secret: ${{ secrets.SuperSecret }}

然后它就是一个变量(或环境变量(,其值(未加密(可以在工作流的其余部分中使用。

最新更新