マイナビニュースマイナビ

OpenID Connectでの認証方法

【連載】

簡単導入! OSS全文検索サーバFess入門

【第34回】OpenID Connectでの認証方法

[2021/02/15 08:00]菅谷 信介 ブックマーク ブックマーク

Fessはさまざまな認証方法に対応しています。その中から今回は、「OpenID Connect」を利用して、GoogleアカウントをFessで認証する方法を説明します。

解説にあたり、今回はFess 13.10.2を利用します。事前に公式サイトのダウンロードページからZIPファイルを入手し、インストールガイドを参考にFessとElasticsearchをインストールしておいてください。

Google Cloud Platformでの設定

GoogleのOAuth 2.0 APIは認可と認証をサポートしているので、OAuth 2.0の認証情報を作成し、OpenID Connectとして連携します。

まず、Google Cloud Platformで認証情報を作成します。Google Cloud Platformにアクセスし、認証情報を作成するプロジェクトを選択してください

左上のナビゲーションメニューから「APIとサービス」→「認証情報」をクリックします。

認証情報の画面

同意画面の作成

認証情報画面で以下の表示があった場合は、「同意画面を構成」ボタンをクリックして、公開範囲などを設定します。

同意画面を構成

「同意画面を構成」ボタンをクリックすると、「OAuth同意画面」が表示されるので、「User Type」のラジオボタンで公開範囲を指定して「作成」ボタンをクリックします。今回、ここでは「内部」を指定しました。

UserTypeの指定

次に表示される「アプリ情報」では、任意のアプリケーション名を入力します。ここでは「Fess」と入力し、その他の項目については必須項目だけを入力しています。入力後、「保存して次へ」ボタンをクリックします。

OAuth同意画面

スコープの設定では何も設定せず、「保存して次へ」ボタンをクリックしてください。設定の概要を確認後、ダッシュボードに戻ります。

認証情報の作成

同意画面の作成後、左上のナビゲーションメニューから「APIとサービス」→「認証情報」をクリックして認証情報画面を表示します。「認証情報を作成」をクリックして、「OAuth クライアント ID」を選択します。

OAuthクライアントIDを選択

OAuthクライアントIDの作成画面で、以下を入力して、「作成」ボタンをクリックします。

項目 設定内容
アプリケーションの種類 ウェブアプリケーション
名前 Fess(任意)
承認済みのリダイレクトURI http://localhost:8080/sso/

OAuthクライアントIDが作成されると、「クライアントID」と「クライアントシークレット」が表示されるので、記録しておきます。

OAuthクライアントIDの作成

Fessの設定

作成した認証情報をFessに設定します。

app/WEB-INF/conf/system.propertiesに、以下の行を追加して保存します。「クライアントID」と「クライアントシークレット」の値は、OAuthクライアントIDの作成で生成されたものを設定します。

sso.type=oic
oic.client.id=[クライアントID]
oic.client.secret=[クライアントシークレット]
oic.auth.server.url=https://accounts.google.com/o/oauth2/auth
oic.redirect.url=http://localhost:8080/sso/
oic.scope=openid email
oic.token.server.url=https://accounts.google.com/o/oauth2/token

設定後、Fessを起動します。

Fessへのアクセス

「http://localhost:8080/sso/」で検索画面にアクセスします。なお、このURLと承認済みのリダイレクトURIが一致していないと、エラー画面が表示されるので注意してください。

アクセスに成功すると、Googleアカウントのログイン画面が表示されるので、利用するアカウントでログインします。

Googleアカウントでログイン

パスワード入力後、検索画面の右上にサインインした際のアドレスが表示されていれば認証成功です。

認証後の検索画面

今回のGoogleアカウント連携を利用して、Google Driveをクロールすることも可能です。設定は、本連載の第18回を参考にしてください。

* * *

今回はGoogleのOAuth 2.0 APIを利用して、FessとGoogleアカウントを連携する方法を紹介しました。Googleアカウントに限らず、OpenID Connectで提供される認証システムであれば、今回と同様の方法で連携することができます。OpenID Connectを利用して認証情報を連携する際は、参考にしてみてください。

著者紹介

菅谷 信介 (Shinsuke Sugaya)

Apache PredictionIOにて、コミッター兼PMCとして活動。また、自身でもCodeLibs Projectを立ち上げ、オープンソースの全文検索サーバFessなどの開発に従事。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】マイクロサービス時代に活きるフレームワーク Spring WebFlux入門 [2] Spring WebFluxの要! リアクティブプログラミング入門

【連載】マイクロサービス時代に活きるフレームワーク Spring WebFlux入門 [2] Spring WebFluxの要! リアクティブプログラミング入門

今回は、Spring WebFluxを使う上で欠かせない要素である「リアクティブプログラミング」と「Reactor」について解説します。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で TECH+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
ニューノーマル時代のオウンドメディア戦略
ミッションステートメント
教えてカナコさん! これならわかるAI入門
AWSではじめる機械学習 ~サービスを知り、実装を学ぶ~
対話システムをつくろう! Python超入門
Kubernetes入門
SAFeでつくる「DXに強い組織」~企業の課題を解決する13のアプローチ~
PowerShell Core入門
AWSで作るマイクロサービス
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る