[解決済み] Google OAuth 2.0 redirect_uri を複数のパラメータで指定する。
質問
Google OAuth 2.0にパラメータを追加する方法
redirect_uri
?
ちょうどこんな感じ。
redirect_uri=http://www.example.com/redirect.html?a=b
は
b
の
a=b
はランダムです。
だれでも助けることができるか。
どのように解決するのですか?
-
リダイレクトURIは、Oauthのアプリ設定で設定されたとおりに一定です。 で設定されたとおりになります。 例えば http://www.example.com/redirect.html
-
リダイレクト URI に複数のパラメータを渡すには、それらのパラメータを
state
パラメータに格納しておくと、認証後の url は同じパラメータをstate=THE_STATE_PARAMETERS
というわけで、あなたの場合は、こうしてください。
/1.パラメータのjson文字列を作成します ->
{ "a" : "b" , "c" : 1 }
/2. base64UrlEncode をして、URLセーフにする ->
stateString = base64UrlEncode('{ "a" : "b" , "c" : 1 }');
これは、base64UrlEncoding & decodingのPHPの例です( http://en.wikipedia.org/wiki/Base64#URL_applications ) :
function base64UrlEncode($inputStr)
{
return strtr(base64_encode($inputStr), '+/=', '-_,');
}
function base64UrlDecode($inputStr)
{
return base64_decode(strtr($inputStr, '-_,', '+/='));
}
ということで、今のstateは次のようになります:stateString -> asawerwerwfgsg,
OAuth認証のURLでこの状態を渡します。
https://accounts.google.com/o/oauth2/auth?
client_id=21302922996.apps.googleusercontent.com&
redirect_uri=https://www.example.com/back&
scope=https://www.google.com/m8/feeds/&
response_type=token&
state=asdafwswdwefwsdg,
サーバーサイドのフローでは、トークンと一緒に表示されます。 http://www.example.com/redirect.html?token=sdfwerwqerqwer&state=asdafwswdwefwsdg ,
クライアント側のフローでは、アクセストークンと一緒にハッシュで入ってきます。 http://www.example.com/redirect.html#access_token=portyefghsdfgdfgsdgd&state=Asdafwswdwefwsdg。 ,
状態を取得し、base64UrlDecodeし、json_decodeすれば、データができあがります。
google OAuth 2について詳しくはこちら。
関連
-
[解決済み] invalid_grant google から oAuth トークンを取得しようとしています。
-
[解決済み] コマンドラインのcURLでリダイレクトを追いかける方法はありますか?
-
[解決済み】OAuth v2には、なぜアクセス・トークンとリフレッシュ・トークンの両方があるのでしょうか?
-
[解決済み】OAuth2.メリットとユースケース - なぜ?
-
[解決済み】OAuth 2.0 Bearer Tokenとは、具体的にどのようなものですか?
-
[解決済み】アクセストークンが失効するのはなぜですか?
-
[解決済み] SSOはCASかOAuthか?
-
[解決済み] リソースサーバーのOAuth 2.0アクセストークンを検証する方法とは?
-
[解決済み] Heroku/GoDaddy: ネイキッドドメインをwwwに送る [閉鎖].
-
[解決済み] NginxでURLをリダイレクトする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] コマンドラインのcURLでリダイレクトを追いかける方法はありますか?
-
[解決済み] Nginx の no-www を www に、www を no-www に。
-
[解決済み】Angular2で外部URLにリダイレクトする方法は?
-
[解決済み] NGINXを使用して別のドメインにリダイレクトする方法は?
-
[解決済み] Valgrindの出力をファイルにリダイレクトする方法は?
-
[解決済み] Heroku/GoDaddy: ネイキッドドメインをwwwに送る [閉鎖].
-
[解決済み] Google OAuth 2.0 redirect_uri を複数のパラメータで指定する。
-
[解決済み] NginxでURLをリダイレクトする方法
-
[解決済み] cmd.exeで標準エラー出力をNULLにリダイレクトする方法
-
[解決済み] URL フラグメントと 302 リダイレクト