# アカウント

> アカウントのページのアカウントの行です。システムのブラウザーを通してステーションを Ganter アカウントにつなぐこと、接続とオフラインの状態、サインアウト、そしてこのサインインが何に属するかです。

**アカウント** の行は、アカウントのページの最初のカードで、ステーションの Ganter アカウントへのサインインです。このサインインは人ではなくステーションに属します。1 人がシステムのブラウザーで 1 度サインインすれば、誰かがステーションをサインアウトさせるまで、そのコンピューターのすべての Windows ユーザーがそのセッションを分け合います。これがランタイムのライセンスを与え（[サブスクリプション](account-subscription) を参照）、フィードバックのフォームが送れるようにします。画面については何もしません。それはローカルユーザーが司ります。

このカードはどの正体にも読めます。2 つのコマンドは別々に決まります。つなぐことは、ステーション自身の画面では自由です。誰からも何も取り上げませんし、初日のステーションには管理者になれるローカルユーザーが 1 人もいないからです。切り離すことは、その場のみんなにランタイムのライセンスを与えている席を手放すので、ステーションにローカルユーザーが 1 人でもできた時点から、この接続での **ローカルユーザーの管理** の権限（Admin のロール）が要ります。ブラウザーは、ステーションと同じコンピューターのものでも、ネットワークからのものでも、何もつなげません。サインインでは、ステーションのコンピューターでブラウザーが開くからです。どちらの場合も、カードはコマンドを描いたまま灰色にし、理由はボタンに乗ります。

## サインアウトの状態 {#signed-out}

| 要素 | 何を見せるか、何をするか |
| --- | --- |
| 表題 | Ganter Lab にサインイン |
| 文 | 「このステーションを Ganter アカウントにつなぎます。安全にサインインするために、Web ブラウザーが開きます。アプリがパスワードを見ることはありません。サインインはステーションのものなので、このコンピューターのすべての Windows ユーザーで共有されます。」 |

| コマンド | 何をするか | 灰色になるとき（状況） | 描かれないとき（ロール） |
| --- | --- | --- | --- |
| サインイン | ブラウザーでのサインインを始めます。 | ページがステーションのウィンドウではなくブラウザーで開かれているとき。同じコンピューターのブラウザーも含みます。ツールチップは「アカウントは、ステーション自身の画面でつなぎます。サインインでは、ステーションのコンピューターでブラウザーが開くからです。」です。 | ありません。 |
| アカウントを作成 | Ganter Lab のサイトの登録のページを開きます。ステーションのウィンドウでは既定のブラウザーで開き、ふつうのブラウザーでは新しいタブで開きます。アドレスを Windows へ渡すのはステーションのウィンドウ自身で、ここでも、アプリが外へ送り出すほかのどこでも、開くのはウェブアドレスだけです。そうでないものは「これは、このステーションが開くウェブアドレスではありません。何も開いていません。」と伝えます。 | ありません。 | ありません。 |

## ブラウザーを待っています {#waiting-for-the-browser}

サインインを押すと、カードは **ブラウザーを待っています…** に変わり、「いま開いたブラウザーのウィンドウで、サインインを終わらせてください。終わると、自動でここに戻ります。」の文、進み具合の帯、そして **キャンセル** のボタンが出ます。アプリは loopback のポートで、ブラウザーが戻ってくるのを待ち受けます。パスワードはサイトで入力するもので、アプリの中では決してありません。キャンセル、終わらせずにブラウザーを閉じること、そしてエラーは、カードをサインアウトの状態に戻し、そのエラーの文はカードの下の **接続の詳細** に出ます。

## サインイン済みの状態 {#signed-in}

| 要素 | 何を見せるか |
| --- | --- |
| 名前 | そのアカウントの表示名です。紹介がそれを持たないときは **Ganter アカウント** です。 |
| メール | そのアカウントのメールアドレスです。 |
| 状態の点と文 | サーバーが答えている間は緑で「Ganter のサーバーに接続しています。」、答えていない間は琥珀で「オフラインです。保存済みのサインインを使っています。接続は自動で戻ります。」です。 |

| コマンド | 何をするか | 灰色になるとき（状況） | 描かれないとき（ロール） |
| --- | --- | --- | --- |
| サインアウト | 表題が **サインアウト** の確認のダイアログで「サインアウトすると、このコンピューターのすべての Windows ユーザーについて、このステーションの Ganter アカウントが切り離されます。サインアウトしますか？」とたずね、そのあとステーションの枠を返し、そのセッションを失効させるようサーバーに求め、保存したサインインを消します。永続ライセンスで動くステーションでは、ダイアログに「このステーションは永続ライセンスで動いています。サインアウトするとライセンスはアカウントに戻り、再びサインインするまでステーションは無償モードで動きます。」が加わります。ステーションがサイトに知らせている間、ボタンは「サインアウトしています…」と表示し、その横に **待つのをやめる** が現れます。これを押すと待つのが終わり、サインアウトはどちらの場合もステーションで完了します。 | ステーションにローカルユーザーがいて、その正体がローカルユーザーの管理を持たないとき。ツールチップは「このステーションのアカウントを切り離せるのは、管理者だけです。」です。 | ありません。 |

カードの先頭の縁は、点と同じ状態の色に染まるので、接続の健全さが何よりも先に読めます。

### オンラインとオフライン {#online-and-offline}

ステーションは、この機械のために暗号化した更新のトークンを（`%ProgramData%\GanterLab` の下に、どのローカルの Windows アカウントもそれを更新できるよう、書き込めるようにして）、最後の紹介とサブスクリプションのスナップショット、そしてサーバーがこのステーションに最後に発行したライセンスとともに保存します。起動のたびに、蓄えた正体がその場で出て、静かな更新が背後で走ります。ネットワークの失敗は、蓄えた正体のままステーションをオフラインの状態に置き、サインインが消えるのは、サーバーがはっきり拒んだとき（そのセッションが失効させられた、期限が切れた、あるいはそのアカウントがもうサインインできない）だけです。90 日に 1 度でも使われたセッションが、ふたたびブラウザーを求めることはありません。90 日まるごとオフラインだったステーションは、ブラウザーでサインインし直します。ライセンスも同じ期限に従います。オフラインのステーションは、最後にサーバーに届いてから 90 日後まで、ライセンスを持ったままです（[サブスクリプション](account-subscription#free-mode-and-the-runtime-countdown) を参照）。永続ライセンスにはこの期限がありません。そのようにしてサインインが消されても、オフラインのままずっとステーションに残ります（[永続ライセンス](account-subscription#perpetual-license) を参照）。

ステーションでのサインアウトが、ブラウザーをサイトからサインアウトさせることはありません。サイト自身のセッションは、そのブラウザーのものです。

## 接続の詳細 {#connection-details}

最後のサインイン、更新、読み直しが失敗したとき、カードの下に **接続の詳細** の開閉が現れ、そのエラーの文を持ちます。ステーションがそれ以外ではオンラインの間も見えたままなので、蓄えた状態を保った失敗の読み直しが隠れることはありません。1 つの言葉には目を留めてください。「サーバーが更新のトークンを発行しなかったため、このサインインは再起動をまたぎません。」は、そのセッションが記憶の中にしかないということです。

## 一時的な識別子の通知 {#the-temporary-identity-notice}

ステーションは、初回の利用で作られて機械の全体で保たれるランダムな識別子で、サーバーに自分を名乗ります。枠は、その識別子に与えられます。それを持つファイルを読むことも書くこともできないとき、ステーションは **一時的な識別子** で動き、サブスクリプションの行は、大きな重大の通知バー **このステーションは一時的な識別子を使っています** から始まります。

> このコンピューターは、ステーションの識別子を保持するファイルを読み書きできませんでした。そのため、ライセンス枠が結び付いているステーションとして認識されません。アプリを起動するたびに新しい識別子が作られ、ランタイムは無償モードの時間切れで止まり続け、アカウントには実在しないステーションがたまります。Ganter Lab を動かしている Windows アカウントが、フォルダー %ProgramData%\GanterLab を読み書きできるか確かめてから、アプリを再起動してください。正確な理由は、イベントのコンソールの Licensing の領域に出ています。

この通知バーは、ステーションがサインインしていてもいなくても出ます。その状態のステーションは、アカウントが何を述べていても、ライセンスがないものとして読まれるからです。

## 何が送られるか {#what-is-sent}

| 段 | ステーションから出るもの |
| --- | --- |
| ブラウザーでのサインイン | Ganter のサーバーとの、通常の認可コードの流れです。正体、メール、オフラインでのアクセス、サブスクリプションの読み取りを求めます。 |
| サインインのあと、起動時、24 時間ごと、そしてアカウントのページを開くたび | ステーションの登録です。そのランダムな識別子、Windows の機械名、アプリケーションのバージョン、そして設定されていればシステムインテグレーター ID。続いて、サブスクリプションの文書の要求です。 |
| サインアウト | 枠の返却とトークンの失効で、どちらもできる範囲で行われます。 |

ハードウェアの指紋も、製造番号も、ローカルユーザーの名前も送られません。ディスクを初期化すれば新しいステーションになり、古い登録は、サインインのないまま 90 日でアカウントから消えていきます。

## デモのプロファイル {#the-demo-profile}

隔離されたデモのプロファイルでは、カードはローカルの代役を見せます。**Demo profile**、`demo@ganterlab.invalid`、そして後ろに何もない「Ganter のサーバーに接続しています。」です。サインアウトとサインインはブラウザーなしで働き、このプロファイルをライセンスのある枠と無償モードの間で切り替えます。サーバーに届くものは何もありません。

## この行がしないこと {#what-the-row-does-not-do}

- 人をサインインさせることはしません。ある画面で誰がサインインしているかはユーザーチップと [ユーザー](users) のページのことで、このサインインはステーションのものです。
- どの画面が何を見せ、何を許すかを変えることはありません。権限はローカルのロールから来ます。
- 失敗しても、何かを止めることはありません。サーバーに届かないステーションは蓄えた状態を保って動き続けます。サインインしていないことの唯一の結末は、無償モードの時間です。
- ローカルユーザーが 1 人もいないステーションをつなぐのに、管理者を求めることはしません。つなぐことは自由で、ローカルユーザーの管理が要るのは、席を手放す切り離すほうです。それも、ステーションにローカルユーザーができてからです。
- 押せない正体からサインインとサインアウトを隠すことはしません。どちらも描かれたまま灰色になり、理由はボタンに乗ります。そしてリモートのブラウザーが試験台の管理者を借りることは、やはり許しません。権限は、ボタンを押したその接続で読まれます。
