前提・実現したいこと
Google OAuth2を利用するアプリを作っています。
発生している問題・エラーメッセージ
Node.js(Express)で認証用のURLを発行し、ユーザーをGoogeアカウントの連携画面にリダイレクトしています。連携に際してリクエストしているスコープ(いずれも制限付きスコープではない)は4種類あります。
現在、リダイレクトしたあとの連携画面で、スコープ別にユーザーがアクセスを許可もしくは拒否するためのダイアログが表示され、ユーザーが一部のスコープのみを許可し、その他のスコープを許可しないという連携ができるようになっています。
しかし、アプリでは4つのスコープすべてを必要とするので、一部のスコープのみの許可ができる連携画面ではなく、ユーザーが許可するスコープを選択できない連携画面を使用したいと考えています。
該当のソースコード
authUrlを生成している部分になります。OAuthScopesは、スコープの配列です。
Node
1const authUrl = GoogleClient.generateAuthUrl({ 2 access_type: 'offline', 3 scope: OAuthScopes, 4 redirect_uri: req.protocol + '://' + req.get('host') + '/auth/callback', 5 state: res.locals.auth_token 6 }); 7res.redirect(authUrl);
試したこと
promptオプションをconsentに設定→改善せず
promptオプションをnoneに設定→認証画面が表示されず
現在は、promptオプションを付けていません。
宜しくお願いします。
あなたの回答
tips
プレビュー