細かいことメモしておくシリーズ。
JINSMEMEのWebAPIが公開されていたので、暇とやる気を見つけてはOAuthクライアントを書いていた(https://github.com/mogeta/gomeme)のだけれど、Goのライブラリでつまづいたポイントをメモ。
Goのライブラリを使っていて、コードに間違いはないと思うんだけど、OAuthの認証が上手く通らない。ということがあった。client_idとclient_secretが渡されず。Tokenが取得できない。という症状が…というのが事の起こり
brokenAuthHeaderProvidersという関数はtoken.go内
https://github.com/golang/oauth2/blob/master/internal/token.go#L93
コメントには以下の様に書かれていて、
which doesn't support the HTTP Basic authentication scheme
とりあえず、Basic認証を使わない場合はここにURLを追加する必要がある。と認識。
といったコードを記述。するとclient_idとclient_secretを渡すようになって無事解決
https://github.com/golang/oauth2/blob/master/internal/token.go#L187
JINSMEMEのWebAPIが公開されていたので、暇とやる気を見つけてはOAuthクライアントを書いていた(https://github.com/mogeta/gomeme)のだけれど、Goのライブラリでつまづいたポイントをメモ。
どういうこと?
Goのライブラリを使っていて、コードに間違いはないと思うんだけど、OAuthの認証が上手く通らない。ということがあった。client_idとclient_secretが渡されず。Tokenが取得できない。という症状が…というのが事の起こり
詳細
https://godoc.org/golang.org/x/oauth2#RegisterBrokenAuthHeaderProviderbrokenAuthHeaderProvidersという関数はtoken.go内
https://github.com/golang/oauth2/blob/master/internal/token.go#L93
コメントには以下の様に書かれていて、
which doesn't support the HTTP Basic authentication scheme
とりあえず、Basic認証を使わない場合はここにURLを追加する必要がある。と認識。
解決方法
oauth2.RegisterBrokenAuthHeaderProvider(endpoint.TokenURL)といったコードを記述。するとclient_idとclient_secretを渡すようになって無事解決
https://github.com/golang/oauth2/blob/master/internal/token.go#L187
0 件のコメント :
コメントを投稿