シングルサインオン
このページを最後まで進めると、家族が SkyView 専用のパスワードを覚える必要はなくなります——Synology NAS のアカウント、社内アカウント、Google アカウントで、ボタンを 1 回押すだけで入れます。
はじめる前に
プロバイダー側で確認済みなら、SkyView は重ねて確認しません
1. まずリダイレクト URI を控える
IDプロバイダー側でアプリを作成するとき、必ず「リダイレクト URI」(コールバック URL、Redirect URI、リダイレクト先などとも呼ばれます)の入力を求められます。SkyView の場合は次の形です。
https://<SkyView を開くときのアドレス>/api/auth/oidc/callbackSkyView の設定画面の上部には、いまアクセスしているアドレスをもとに組み立てた完全な 1 行がすでに表示されていて、コピーボタンも付いています。そのままコピーするのがいちばん確実です。
- 実際にアクセスしているアドレスを使ってください —— コンテナ内部のアドレスでも
127.0.0.1でもありません。 - 1 文字も違わないこと ——
httpsかhttpか、ポート番号、大文字と小文字。1 文字違うだけで通りません。 - 入口が 2 つあるなら 2 行登録します —— 自宅では LAN のアドレス、外出先ではインターネット向けのドメインを使う場合、プロバイダー側に両方を登録してください(ほとんどのプロバイダーは複数行に対応しています)。
2. SkyView 側に入力する項目
| 入力する項目 | 説明 |
|---|---|
| シングルサインオンを有効にする | 全体のスイッチです。無効にするとログイン画面にボタンが出なくなりますが、関連付け済みのアカウントには影響しません |
| 表示名 | ボタンに表示される名前です。「自宅の NAS アカウント」「社内アカウント」など。空欄なら SSO と表示します |
| プロバイダーのアドレス | IDプロバイダーから提示されたアドレスをそのまま貼り付けてください。末尾に /.well-known/openid-configuration やスラッシュが付いていても問題ありません。https が必須です |
| クライアント ID | プロバイダー側でアプリを作成すると発行されます |
| クライアントシークレット | 同じくアプリ作成時に発行されます。SkyView とプロバイダーのサーバー間だけで使われ、ブラウザーやスマートフォンには渡りません |
| 初回ログイン時にアカウントを自動作成 | 有効:初めての人が最初にログインした時点で SkyView のアカウントを自動的に作ります。無効:事前の関連付けが必須になり、関連付けていない人は拒否されます |
| 自動作成時の権限 | 通常は「閲覧者(読み取り専用)」のままにします。管理権限が必要な人は、あとからユーザー管理で個別に引き上げてください |
「詳細設定」にはもう 2 項目あり、ほとんどのプロバイダーでは既定値のまま使えます。「要求するスコープ」は既定のままで構いません。「ユーザー名の取得元」は、プロバイダーのどの項目を SkyView のユーザー名にするかを決めます。取得できないときや使えない値だったときは、SkyView が自動生成します。
全体のスイッチを先に入れないでください
実機で最後まで確認したプロバイダー
3. Synology SSO Server
NAS を使っている方にはこれがいちばん手軽です。別のものを用意する必要はなく、DSM のパッケージだけで IDプロバイダーになり、NAS にすでにあるアカウントをそのまま SkyView のログインに使えます。
- 1
パッケージを入れてサービスを有効にする
操作:パッケージセンターで SSO Server をインストールし、開いたら「サービス」で OIDC にチェックを入れます(シングルサインオンの共通規格で、どの製品の画面でもこの名前で出てきます)。
- 2
アプリケーションを追加する
操作:「アプリケーション → 追加」でタイプに OIDC を選び、名前は自由に付けます(「SkyView」など)。「リダイレクト URI」には 1 節目のアドレスを入力します。
- 3
2 つの値を SkyView に書き写す
操作:保存すると一覧にアプリケーション ID とアプリケーションシークレットが表示されます。それぞれ SkyView の「クライアント ID」「クライアントシークレット」に対応します。
- 4
プロバイダーのアドレスを入力する
操作:
https://<DSM にアクセスしているアドレス>/webman/ssoを入力します。例:https://nas.example.com:5001/webman/sso。
この DSM のアドレスは https で、証明書が有効である必要があります
Synology は「ユーザー名」という項目を単独では返さないため、SkyView は DSM のログイン名をそのまま SkyView のユーザー名として使います(DSM 上の名前がそのまま引き継がれます)。表示名にはメールアドレスが入ります。「ユーザー名の取得元」は既定のままで構いません。
4. Authentik
- 1
Provider を新規作成する
場所:左メニューの Applications → Providers → Create で OAuth2/OpenID Provider を選びます。
- 2
主要な項目を設定する
操作:認可フローは既存のものを選びます(確認画面ありでもなしでも構いません)。Client type は Confidential、Redirect URIs には 1 節目のアドレスを入力し(アドレスが複数あるなら複数行)、Signing Key は証明書を 1 つ選びます。
- 3
資格情報を書き写す
操作:保存後、Provider の詳細画面で Client ID と Client Secret をコピーし、SkyView に入力します。
- 4
Application を作成して使える範囲を決める
操作:Applications → Create でアプリケーションを作り、いま作った Provider に紐付けます。あわせて誰が使えるかも設定しておきます。
- 5
プロバイダーのアドレスを入力する
操作:Provider の詳細画面にある OpenID Configuration Issuer がそれにあたります。
https://auth.example.com/application/o/yunkan/のような形なので、そのまま SkyView の「プロバイダーのアドレス」に貼り付けます。末尾のスラッシュはあってもなくても構いません。
5. Microsoft Entra ID(旧 Azure AD)
- 1
アプリを登録する
場所:Azure ポータル → Microsoft Entra ID → アプリの登録 → 新規登録。「リダイレクト URI」のプラットフォームは Web を選び、1 節目のアドレスを入力します。
- 2
2 つの ID を控える
操作:登録が終わったら「概要」ページでアプリケーション (クライアント) ID(→ SkyView の「クライアント ID」)とディレクトリ (テナント) ID(次の手順でアドレスを組み立てるのに使います)をコピーします。
- 3
クライアント シークレットを作る
操作:「証明書とシークレット → 新しいクライアント シークレット」を開きます。作成したらすぐに「値」の列をコピーしてください——このページを離れると二度と表示されません。SkyView の「クライアントシークレット」に貼り付けます。
- 4
プロバイダーのアドレスを入力する
操作:
https://login.microsoftonline.com/<テナント ID>/v2.0を入力します。
Entra が返すユーザー名は通常メールアドレス全体です。SkyView は @ より前の部分をユーザー名として使い、重複する場合は自動で連番を付けます。「API のアクセス許可」は既定の項目のままで構いません。
6. Google
Google は LAN のアドレスを受け付けません
- 1
認証情報を作成する
場所:Google Cloud Console → API とサービス → 認証情報 → 認証情報を作成 → OAuth クライアント ID。種類は ウェブ アプリケーション を選びます。
- 2
リダイレクト URI を入力する
操作:「承認済みのリダイレクト URI」に 1 節目のアドレスを入力して作成すると、クライアント ID とクライアントシークレットが発行されます。
- 3
プロバイダーのアドレスを入力する
操作:
https://accounts.google.comを入力します。 - 4
ユーザー名の取得元を調整する
操作:Google は「ユーザー名」という項目を返さないので、「ユーザー名の取得元」を
emailに変えるか、既定のままにして SkyView に自動生成させます。
世界中の誰もがあなたの SkyView にアカウントを作れる状態にしないでください
7. Keycloak
- 1
Client を新規作成する
場所:realm を選んでから Clients → Create client。Client type は OpenID Connect を選び、Client ID は自分で決めます(
yunkanなど)。 - 2
機密クライアントを有効にする
操作:次の画面で Client authentication をオンにし、Authentication flow で Standard flow にチェックを入れます。
- 3
リダイレクト URI を入力する
操作:Valid redirect URIs に 1 節目のアドレスを入力します。
- 4
シークレットを書き写してアドレスを入力する
操作:作成後、Credentials タブで Client secret をコピーします。プロバイダーのアドレスには
https://kc.example.com/realms/<realm 名>を入力します。
Keycloak は既定でユーザー名の項目を返すため、「ユーザー名の取得元」は既定のままで構いません。
8. はじめてこれでログインすると何が起きるか
- 1
プロバイダーへ移動してログインする
操作:SkyView のログイン画面で「〇〇 でログイン」を押すとプロバイダーへ移動します。そちらの方法でログインし(プロバイダー自身の 2 段階認証も含みます)、終わると自動的に SkyView へ戻ります。
- 2
SkyView が対応するアカウントを探す
操作:こちらでは何もしません。SkyView はプロバイダーから渡された利用者の識別子で照合します。関連付け済みのものが見つかれば本人と判断し、そのまま入れます。
- 3
見つからなかったときの 2 つの分かれ道
自動作成が有効なとき:その場で SkyView のアカウントを新しく作ります。権限は設定した既定値になり、この外部アカウントが関連付けられます。 自動作成が無効なとき:このアカウントはまだ SkyView のユーザーと関連付けられていないと表示されます。次の節の手順で手動で関連付けるか、管理者に自動作成を有効にしてもらってください。
自動作成されたアカウントにはパスワードがありません
9. 外部アカウントを既存の SkyView アカウントに関連付ける
「すでに SkyView の管理者アカウントがあり、これからは NAS のアカウントでそこにログインしたい」という場合に向いています。
- 1
まず SkyView のアカウントで通常どおりログインする
操作:ユーザー名とパスワードでいつもどおりログインします。
- 2
関連付けの入口を開く
場所:マイアカウント → ログインのセキュリティ →「関連付け済みのアカウント」。
- 3
「〇〇 アカウントを関連付ける」を押す
操作:プロバイダーへ移動して 1 回ログインし、戻ってくれば完了です。 成功の目安:カードにそのアカウントが並びます。次回からログイン画面でそのボタンを押すと、この SkyView アカウントにそのまま入ります。
1 つの SkyView アカウントには複数のプロバイダーアカウントを関連付けられます。逆に、1 つのプロバイダーアカウントを関連付けられる SkyView アカウントは 1 つだけです——そうしないと「これでログインしたら誰として入るのか」が決まらなくなるためです。関連付けの解除は同じカードで行えます。
パスワードのないアカウントは解除できません
10. スマホアプリ
Android と iOS のどちらでも使えます。ログイン画面でサーバーのアドレスを正しく入力すると(アドレスの横の点が緑に変わります)、ボタンが自動的に現れます。押すと端末のブラウザーが開いてログインが完了し、そのままアプリへ戻ります。
- スマートフォンのブラウザーから同じ SkyView のアドレスを開けること —— 外出先で使うなら、サーバーのアドレス欄にはインターネット向けのアドレスを入力しておく必要があります。
- 「パスワードを保存」は使えません —— この項目が覚えるのは SkyView 側のパスワードですが、この種のアカウントにはパスワードがありません。手間を減らしたい場合は、プロバイダー側でログイン状態を保っておけばブラウザーが覚えてくれます。
11. よくある質問
- リダイレクト URI が一致しないと表示される —— プロバイダー側に登録したアドレスと、SkyView が実際に送っているアドレスが違います。SkyView の設定画面の上部にあるアドレスを開き、プロバイダーの管理画面と 1 文字ずつ見比べてください。プロトコル、ポート、末尾のスラッシュ、大文字と小文字です。LAN とインターネットで入口が 2 つあるなら、それぞれ 1 行ずつ登録します。
- アドレスとサービスが返す識別子が一致しないと表示される —— 「プロバイダーのアドレス」がプロバイダー本来の issuer ではありません(別のページからコピーした場合がほとんどです)。プロバイダーのアプリケーション詳細に戻り、「Issuer / OpenID Configuration」の値をコピーし直してください。末尾の
/.well-known/openid-configurationやスラッシュは影響しません。 - 戻ってきたときにログインを完了できなかったと表示される —— よくあるのは 2 つです。1 つは SkyView が動いているマシンの時刻ずれ(プロバイダーと 2 分以上ずれると拒否されます。NAS で自動時刻合わせを有効にしていない例が多いです)。もう 1 つはクライアントシークレットの誤りで、新しく発行し直して貼り付けてから保存してください——この欄は空欄が「変更しない」を意味するため、新しい値を実際に貼り付けないと反映されません。
- 設定の変更はいつ反映されるか —— すぐに反映されます。プロバイダーのアドレスを変えると SkyView はキャッシュしていたプロバイダー情報を破棄し、次にボタンを押したときから新しいアドレスを使います。
- シングルサインオンを無効にしたら、自動作成されたアカウントは残るのか —— 残ります。関連付けもそのままで、ログイン画面にボタンが出なくなるだけです。完全に消したい場合はユーザー管理でアカウントを削除してください。
- 特定の人だけに使わせられるか —— できますが、絞り込みはプロバイダー側で行います(Authentik のポリシー、Google のテストユーザーの一覧、Synology のユーザーグループ)。SkyView 側にある大まかなスイッチは「初回ログイン時にアカウントを自動作成」で、これを無効にすると、あなたが手動で関連付けた人だけが入れます。
関連ページ
このページは役に立ちましたか?