OAuth 2認証
内容
- 1 他のサイトのあなたのアカウントを使ってログインする
- 2 OAuth 2認証を有効にする
- 3 新規アカウント作成を防止する
- 4 トラブルシューティング
- 4.1 「OAuth 2サービス」ページに、「ログインを許可」の赤い十字があります。
- 4.2 OAuth 2認証を有効にした後にコーディングエラーが発生する
- 4.3 Facebookを使ってログインしようとするとエラーメッセージが出ます
- 4.4 OAuth 2サービスにログインした後に "required parameters(code)was missing"というエラーが表示されます
- 4.5 GoogleおよびFacebookの/admin/tool/oauth2/issuers.phpページに緑色のチェックマークがすべて表示されていますが、サーバーのログインページにボタンが表示されません。
他のサイトのアカウントを使ってログインする
OAuth 2認証プラグインを使用すると、ユーザーはログインページのボタンから自分のGoogle、Microsoft、またはFacebookのアカウントを使用してログインできます。
アカウントの作成が有効になっていると、ユーザーが最初にログインしたときに新しいアカウントが作成されます。それ以外の場合は、同じメールアドレスを持つ既存のアカウントにリンクするように求められます。
OAuth 2認証を有効にする
OAuth 2認証を使用するには、管理者はまず必要なOAuth 2サービスを作成する必要があります。
- [サイトの管理]> [サーバー]で[OAuth 2サービス]に移動し、ボタンをクリックして新しいサービスを作成します。
- OAuth 2 Googleサービス 、 OAuth 2 Microsoftサービス、またはOAuth 2 Facebookサービスの指示に従って、クライアントIDとシークレットを入手してください。
- クライアントIDとシークレットを入力し、[ログインページに表示]がチェックされていることを確認してから、変更を保存します。
必要に応じて、[メールの確認が必要]チェックボックスをオフにすると、確認のメールが送信されません。これは、ドメインにGoogleを使用している機関に役立ちます。 Google OAuthプロバイダはそのドメインに対して信頼できると見なすことができます。
必要に応じて追加のサービスについても繰り返します。 OAuth 2認証では、システムアカウントに接続する必要はありません。
次:
- サイト管理の「認証の管理」に行き、OAuth 2認証プラグインを有効にしてください。
- オプション:OAuth 2設定で、選択したユーザーデータフィールドをロックして変更を保存します。
新規アカウント作成の防止
ユーザーがOAuth 2サービスでログインしたときに新しいアカウントを作成したくない場合は、次の手順を実行します。
- [サイトの管理]の[認証の管理]に移動し、[認証時にアカウント作成を禁止する](authpreventaccountcreation)のチェックボックスをオンにします。
- [変更を保存]ボタンをクリックしてください。
トラブルシューティング
「OAuth 2サービス」ページには、「ログインを許可する」という赤い×印があります。
[ログインを許可]に緑色のチェックマークを付けるには、OAuth 2サービスを編集し、[ログインページを表示]の設定がチェックされていることを確認します。
OAuth 2認証を有効にした後にコーディングエラーが発生します
あなたのサイトに以前のバージョン用のOAuth 2プラグインをインストールしましたか?その場合は、標準のOAuth 2認証を使用するためにそれらをアンインストールする必要があります。
Facebookを使ってログインしようとするとエラーメッセージが出ます
エラーメッセージ '返されたユーザー情報にユーザー名と電子メールアドレスが含まれていませんでした。 OAuth 2サービスが正しく設定されていない可能性があります。ユーザーのFacebookアカウントが携帯電話番号を使用して作成されたためです。
解決策は、ユーザーが最初にFacebookにログインし、そこにユーザー名とEメールアドレスを追加することです。
OAuth 2サービスにログインした後、「必須のパラメータ(コード)が見つかりませんでした」というエラーが表示される
エラーメッセージ「必要なパラメータ(コード)が見つかりませんでした」は、Webサーバーの設定が誤っていることが原因で発生する可能性があります。 OAuth 2はURLパラメータとして渡される長いトークンに依存しており、Webサーバーの設定によってはこれが機能しなくなる可能性があります。 1つの可能な解決策についてはhttps://www.php.net/manual/en/reserved.variables.get.php#101469を参照してください 。
GoogleとFacebookの/admin/tool/oauth2/issuers.phpページに緑色のチェックマークがすべて表示されていますが、サーバーのログインページにボタンが表示されません。
Moodle 3.4の新規インストール(おそらくセキュリティ上の理由から)では、OAuth2のプラグイン設定が無効になっていることがわかりました。サイト管理 - プラグイン - 認証 - 認証の管理(/admin/settings.php?section=manageauths)のページに移動し、OAuth2のレコードを有効にしてから、必要に応じてそのレコードの設定を調整します。