簡単導入! OSS全文検索サーバFess入門
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」のラジオボタンで公開範囲を指定して「作成」ボタンをクリックします。今回、ここでは「内部」を指定しました。
次に表示される「アプリ情報」では、任意のアプリケーション名を入力します。ここでは「Fess」と入力し、その他の項目については必須項目だけを入力しています。入力後、「保存して次へ」ボタンをクリックします。
スコープの設定では何も設定せず、「保存して次へ」ボタンをクリックしてください。設定の概要を確認後、ダッシュボードに戻ります。
認証情報の作成
同意画面の作成後、左上のナビゲーションメニューから「APIとサービス」→「認証情報」をクリックして認証情報画面を表示します。「認証情報を作成」をクリックして、「OAuth クライアント ID」を選択します。
OAuthクライアントIDの作成画面で、以下を入力して、「作成」ボタンをクリックします。
項目 | 設定内容 |
---|---|
アプリケーションの種類 | ウェブアプリケーション |
名前 | Fess(任意) |
承認済みのリダイレクトURI | http://localhost:8080/sso/ |
OAuthクライアントIDが作成されると、「クライアント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 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の要! リアクティブプログラミング入門](https://news.mynavi.jp/itsearch/assets_c/2020/12/WF_300_2-thumb-80x80-34786.jpg)
【連載】マイクロサービス時代に活きるフレームワーク Spring WebFlux入門 [2] Spring WebFluxの要! リアクティブプログラミング入門
今回は、Spring WebFluxを使う上で欠かせない要素である「リアクティブプログラミング」と「Reactor」について解説します。
関連リンク
ダウンロードBOXに入れる
記事をダウンロードBOXに追加します。よろしいですか?
ブックマーク
記事をブックマークに追加します。よろしいですか?
-
[2021/03/08 09:00] ソリューション
-
$side_seminar_count = $i+1; ?>
-
2021年3月12日(金) 13:00 ~ 17:00 【第1部】13:00~13:50(基調講演) 【第2部】14:00~16:15 計12セッション 【ASK THE SPEAKER】16:30~17:00(講演者への質問コーナー)
KDDI SOLUTION DAY 2021 ~不確実性の高い時代のビジネス共創とDX~
$side_seminar_count = $i+1; ?>
-
2021年3月12日 金曜日 13:00 – 14:50
DXでさらに企業進化を AI+自動化でビジネスをパワーアップ
$side_seminar_count = $i+1; ?>
-
2021年3月15日(月)0:00~2021年3月31日(水)23:59
KDDI まとめてオフィスの学校向けオンラインセミナー ~これからの教育ICT推進に向けて~
$side_seminar_count = $i+1; ?>
-
2021年 3月 18日 (木) 13:00~18:20
マイナビニュース スペシャルセミナー 2021年の脅威に対峙する
$side_seminar_count = $i+1; ?>
-
2021年3月18日(木)15:00~16:00
5G時代のCDNに!コスト削減と顧客体験向上を両立させるCDNとは?
今注目のIT用語の意味を事典でチェック!