gpt4 book ai didi

go - oauth2 问题,创建时无法获取 access_token

转载 作者:行者123 更新时间:2023-12-01 22:25:32 25 4
gpt4 key购买 nike

我花了将近 5 个小时在互联网上搜索试图解决这个问题,但没有任何结果。我想得到我的access_token创建时,将其保存到变量中,然后将其存储在 db 中。但是,我无法提取创建的 access_token .

package main

import (
"fmt"
"log"
"net/http"

oauth2 "gopkg.in/oauth2.v3"
"gopkg.in/oauth2.v3/models"

"gopkg.in/oauth2.v3/errors"
"gopkg.in/oauth2.v3/manage"
"gopkg.in/oauth2.v3/server"
"gopkg.in/oauth2.v3/store"
)

func main() {
manager := manage.NewDefaultManager()

manager.SetAuthorizeCodeTokenCfg(manage.DefaultAuthorizeCodeTokenCfg)

manager.MustTokenStorage(store.NewMemoryTokenStore())

clientStore := store.NewClientStore()
clientStore.Set("12345", &models.Client{
ID: "12345",
Secret: "12345",
Domain: "http://localhost:9094",
})
manager.MapClientStorage(clientStore)

srv := server.NewDefaultServer(manager)
srv.SetAllowGetAccessRequest(true)
srv.SetClientInfoHandler(server.ClientFormHandler)
manager.SetRefreshTokenCfg(manage.DefaultRefreshTokenCfg)

srv.SetInternalErrorHandler(func(err error) (re *errors.Response) {
log.Println("Internal Error:", err.Error())
return
})

srv.SetResponseErrorHandler(func(re *errors.Response) {
log.Println("Response Error:", re.Error.Error())
})

http.HandleFunc("/token", func(w http.ResponseWriter, r *http.Request) {
srv.HandleTokenRequest(w, r)
})

http.HandleFunc("/protected", validateToken(func(w http.ResponseWriter, r *http.Request) {

w.Write([]byte("Hello, I'm protected"))
}, srv))

log.Fatal(http.ListenAndServe(":9099", nil))

}

func validateToken(f http.HandlerFunc, srv *server.Server) http.HandlerFunc {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {

_, err := srv.ValidationBearerToken(r)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
f.ServeHTTP(w, r)
})
}

我会很感激任何帮助,因为我只是一名实习程序员,这对我来说仍然是新的。

谢谢 :)。

最佳答案

没关系,由于插件为您完成工作,因此不可能获得 token 。!!!

关于go - oauth2 问题,创建时无法获取 access_token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60159582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com