ログオン・ログオフ
最終更新日: 2021年9月9日
R8 | R9
すでにログオン認証処理が終わったあと、JavaScript をカスタマイズして直接、REST API 経由で Wagby からデータを取得する場合は、ログオン処理は不要です。以降のページに記載の REST API をご利用ください。
http://localhost:8921/wagby/rest/session
POSTと同様にContent-Typeをapplication/x-www-form-urlencodedとして送信します。
STATUS=200 OK
返戻の内容例を示します。
STATUS=401 Unauthorized
REST API のログオン処理は、このハッシュ化パスワードにも対応してます。パスワードは平文のまま送ってください。
http://localhost:8921/wagby/rest/session
STATUS=200 OK
返戻の内容例を示します。
http://localhost:8921/wagby/rest/session
上記「レスポンス ログオン成功時」と同じ。
STATUS=401 Unauthorized
一回の REST API 呼び出し時にログオンし、REST API 処理終了後にログオフする運用を行うことができます。この場合はセッションを維持する必要はありません。(上で説明したような、CookieにJSESSIONIDを保持することは不要です。)
REST API 呼び出し時に、リクエストヘッダに "X-Wagby-Authorization" をセットします。値は、ユーザーIDとパスワードをコロンで区切ったものを BASE64 で符号化したものを指定します。
例えば "admin:admin" を BASE64 で符号化すると "YWRtaW46YWRtaW4=" となります。
この方法はWagbyへHTTPリクエストを送るタイミングで、ヘッダにログオンIDとパスワードを付与しています。実際の運用では、HTTP暗号化通信 (HTTPS) を使うようにしてください。[詳細...]
X-Wagby-Authenticationヘッダに指定したログオンIDは無視されます。すでにログオン済みのアカウントで操作されます。例を示します。
次の点をご確認ください。
ログオン
Wagbyアプリケーション内部で REST API を利用する場合
外部のアプリケーションから Wagby アプリケーションを REST API で利用する場合
@RequestMapping(value="/rest/session", method=POST, produces="application/json")
パラメータ 説明
user ユーザ名
pass パスワード
URL例
パラメータ指定方法
具体的には Content-Typeヘッダに "application/x-www-form-urlencoded" を指定し、次のような文字列を送信します。
user=admin&pass=admin
レスポンス - ログオン成功
CookieにJSESSIONIDを返します。以降のREST API呼び出し時には、このJSESSIONIDを付与してください。
{
"groupId": [],
"username": "admin",
"passwdChangeDate": null,
"preference": {
"id": "admin",
"item": []
},
"status":"logon.afterLogon",
"juser": {
"id": 101,
"userid": "admin",
"jgroupid": [],
"name": "システム管理者",
"valid": null,
"level": 0,
"passwdChangeDate": null,
"passwdChangeFlag": null,
"passwdErrCount": null,
"lastLogonDate":1387281246638,
"rule": []
},
"passwdChangeFlag": null
}
レスポンス - ログオン失敗
返戻の内容例を示します。
{
"timestamp": 1524549611809,
"status": 401,
"error": "Unauthorized",
"message": "Authentication Failed: Bad credentials",
"path": "/wagby/rest/session",
"errors": {
"jfcerror": [
{
"name": null,
"content": "ユーザ名またはパスワードが間違っています。パスワードを連続して複数回間違えるとアカウントがロックされる場合があります。ご注意ください。",
"code": "error.password.mismatch"
}
],
"jfcinfo": [],
"jfcdebug": [],
"jfcwarn": []
}
}
パスワードハッシュ化の対応
ログオフ
@RequestMapping(value="/rest/session", method=DELETE, produces="application/json")
URL例
レスポンス
{
"status":"logoff.input"
}
ログオンユーザの情報取得
@RequestMapping(value="/rest/session", method=GET, produces="application/json")
URL例
レスポンス - 認証時
レスポンス - 未認証時
内容は空です。
{}
自動ログオン
"admin:wagby" を BASE64 で符号化すると "YWRtaW46d2FnYnk=" となります。
参考資料
セキュリティ
トラブルシューティング
REST APIにてログオン中にX-Wagby-Authenticationヘッダでログオンしようとした場合の挙動
REST API処理時にログオン中の他のユーザーが強制的にログアウトされ、ログオン画面に戻される
変更履歴