0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

メモ パスワードベースのシングルサインオン

Last updated at Posted at 2024-07-07

改修するほどのお金はないけどSSOを実現したい

仕事をしてると上記のような要望がたまにあがる。

調べていたら、特別な実装を必要とせず、「My Apps Secure Sign-in Extension」というブラウザ拡張のインストールと設定のみでSSOを実現する手段として、Microsoft EntraIDのパスワードベースのSSOが使えそうだったのでメモしておく

パスワードベースのSSOってどんなもの?

Microsoft Entra IDにアプリケーションへのログイン情報を記録させることで、次回以降のログイン時にはMicrosoft Entra IDが代理でパスワードを送信してくれる。

上記で学んだ中では「代理認証方式」に該当するものと思われる。

触ってみた

ID/Passwordの入力に応じてログインの成否が表示されるログインページだけの下記のアプリケーションを動かしてパスワードのSSOを実際に使ってみる

image.png

image.png

image.png

from flask import Flask, request, redirect, url_for
import ssl

app = Flask(__name__)

@app.route('/top')
def index():
    return '''
        <form action="/login" method="post">
            ID: <input type="text" name="identity"><br>
            PW: <input type="password" name="password"><br>
            <input type="submit" value="ログイン">
        </form>
    '''

@app.route('/login', methods=['POST'])
def login():
    if request.form['identity'] == 'test' and request.form['password'] == 'pass':
        return redirect(url_for('success'))
    else:
        return 'ログインに失敗しました。'

@app.route('/success')
def success():
    return 'ログインに成功しました。'

if __name__ == '__main__':
    app.run(debug=True, ssl_context=("C:\\Users\\nodas\\source\\repos\\sample-login\\server.crt", "C:\\Users\\nodas\\source\\repos\\sample-login\\private.key"))

Microsoft Entra ID側の設定

Microsoft Entra 管理センター にログインする

エンタープライズアプリケーション>新しいアプリケーション
image.png

「独自のアプリケーションの作成」をクリックすると右側に登録用のペインが表示されるのでアプリケーション名を入力して作成する

image.png

「シングルサインオン」をクリックし、シングルサインオン方式から「パスワードベース」をクリック
image.png

サインオンURLにアプリケーションのログイン画面のURLを張り付けて保存ボタンを押下する
サインインフィールドを自動検知してくれるはずだが、失敗するとオレンジの枠線のように
手動構成のためのリンクが表示される
キャプチャ.png

シングルサインオン設定の構成をクリックすると右側に構成用のペインが開かれるので
「サインインフィールドの手動検出」を選択し「サインインフィールドの読み込み」をクリックする
($*$事前に「My Apps Secure Sign-in Extension」というブラウザ拡張をインストールしておくこと)

image.png

アプリケーションのログイン画面にリダイレクトされるのでID/PWを入力すると
入力欄が強調されて表示される
image.png

ログインに成功すると確認メッセージが表示されるのでOKをクリックする
image.png

ユーザーとグループからユーザを追加し、「資格情報の更新」から当該ユーザのログイン情報の設定ができるので設定する
image.png

アプリケーションのログイン画面を改めて開くとパスワードが保存されてるので拡張情報からログインする旨が表示されるので、拡張機能をクリックするとログインできる。

image.png
image.png

またMy Appsのダッシュボードからアプリケーションを選択してログインすることもできる
image.png

image.png

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?