# よりセキュアな方法でログインする

前項でご紹介した、URLを使用したログインは非常に簡便で使い勝手が良いのですが、よりセキュアな方法でログインすることを求められる場合もあります。
以下では暗号方式を利用したログイン方法についてご説明します。

# 1) ワンタイムパスワードを取得する

他社製のソフトウェアから以下のURLに対してPOSTリクエストを発行し、ワンタイムパスワードを取得してください。
SonicDICOM® PACSはワンタイムパスワードの生成時に秘密鍵と公開鍵を作成し、公開鍵をワンタイムパスワードとして返答します。

URL: /viewer/api/otp/

# 2) IDとパスワードを暗号化する

他社製のソフトウェア側で、SonicDICOM® PACSから取得したワンタイムパスワード(公開鍵)を使用して、IDとパスワードをRSA方式で暗号化してください。

暗号化前の文字列の例: id=admin&password=password  
暗号化後の文字列の例: encryptedstring  

# 3) 暗号化した文字列を使用してログインする

URLのパラメータを以下のように変更してログインを実行してください。

URLの例: /viewer/#/list?code=encryptedstring  

SonicDICOM® PACSはこのようなリクエストを受けると、ワンタイムパスワードの生成時に作成した秘密鍵を使用して、暗号化された文字列を復号し、内部でログイン処理を実行します。
ログインに成功した場合はHTTPコード200を、失敗した場合は401を返答します。
ワンタイムパスワードは一度使用されるか、生成されてから一定時間が経過すると自動的に破棄されます。