良いニュースは、私はofficial tutorialをJavascriptでGoogleドライブREST APIにアクセスしていたことです。しかし、client_id
でもではなく、client_secret
がコードで使用されています。アプリを登録している間JavascriptのOAuthにクライアントシークレットが必要ないのはなぜですか?
/**
* Check if current user has authorized this application.
*/
function checkAuth() {
gapi.auth.authorize(
{
'client_id': CLIENT_ID,
'scope': SCOPES.join(' '),
'immediate': true
}, handleAuthResult);
}
、私が使用されていないclient_secret
を与えられています。 は、hereとhereのように、auth_token
リクエストで送信する必要がありますか?
下記のコメントに記載されているとおり、client_id
はclient_secret
とは対照的に公開されています。 を取得するためにclient_secret
を使用していないにもかかわらず、GoogleのOAuth 2.0がどのように機能するのか、私は驚きました。それはOAuth 2.0仕様で義務付けられていませんか?悪意のあるアプリが正当なものを偽装するのを防ぐのは何ですか?
私はlocalhost:8000
を自分のJavascript起源として設定できます。
私は 'client_id'が' client_secret'ではなくpublicであると理解します。私が驚いているのは、 'auth_token'を得るために' client_secret'を使わないにもかかわらず、GoogleのOAuth 2.0がどう機能しているかです。それはOAuth 2.0仕様で義務付けられていませんか? –
悪意のあるアプリが正当なものを偽装することを防止しているのは何ですか? –
おそらく、JSライブラリ内のいくつかの魔法は私の推測だろう。そのことと、JavaScriptの原点とURIのリダイレクトがロックされたという事実。あなたが提供した場所から電話が来ていないかぎり、その電話は動作しません。 – DaImTo