Я работаю в приложении Golang, это приложение подключено к службе Oauth2, прямо сейчас у меня есть токен обновления, и мне нужно получить с ним новый токен доступа, я использую golang.org/x/oauth2
, но это не удалось, так что есть что-то что мне не хватает, в настоящее время у меня есть:
refresh_token := "some_refresh_token"
var conf = oauth2.Config{
ClientID:MY_CLIENT,
ClientSecret:MY_CLIENT_SECRET,
Scopes:[]string{"refresh_token"},
RedirectURL:"https://mydomain/callback",
Endpoint: oauth2.Endpoint{
AuthURL:"myoauth2Cluster.com/oauth2/auth",
TokenURL: "myoauth2Cluster.com/oauth2/token",
},
}
t := new (oauth2.Token)
t.RefreshToken=refresh_token
myclient := conf.Client(context.Background(),t)
req, err := http.NewRequest("GET",DontKnowWhichURLhere , nil)
if err != nil {
fmt.Println("error:",err.Error())
}
mrr, er := myclient.Do(req)
if(er!=nil){
fmt.Println(er.Error())
}else{
fmt.Println("status code:",mrr.StatusCode)
}
Но я получаю статус 404, я проверил журналы сервера Oauth2, и у меня есть
msg="completed handling request" measure#https://myOauth2Cluster.latency=100648 method=GET remote=xxx.xxx.xx.xxx request="/" status=404 text_status="Not Found" took=100.648µs
Кроме того, я не совсем уверен, какой URL-адрес я должен установить при создании http.NewRequest
, должен ли это быть обратный вызов? или URL-адрес сервера Oauth2?
Если бы был какой-то пример того, как обновить токен доступа с помощью этой библиотеки, было бы неплохо, но на данный момент я его не нашел.