認可仕様
BFF における権限制御の仕様です。認証(JWT検証)については authentication.md を参照してください。
ユーザー種別
BFF 内部では以下の2つの権限判定関数を使い分けています。
| 関数 | 判定条件 | 対象ユーザー |
|---|---|---|
IsSysAdmin() |
MlocaUser == "sysadmin"(ユーザー名による判定) |
sysadmin アカウントのみ |
IsAdmin() |
MlocaUser == "sysadmin" または JWT クレームの is_admin == true |
sysadmin アカウント + 管理者フラグありのユーザー |
管理者(IsAdmin)のみ実行可能な操作
IsAdmin() が false のユーザーが呼び出すと 403 Forbidden を返します(sysadmin は IsAdmin() が true のため実行可能です)。
| GraphQL フィールド | 説明 |
|---|---|
createUserAccount |
ユーザーアカウント作成 |
updateUserAccount |
ユーザーアカウント更新 |
deleteUserAccount |
ユーザーアカウント削除 |
bulkOperationUserAccount |
ユーザーアカウント一括操作 |
bulkUpdateMobile |
移動局一括更新 |
updateMobile |
移動局更新 |
editStateIconSettings |
動態アイコン設定編集 |
editIconPriority |
アイコン優先度編集 |
editBizButtonSetting |
業務ボタン設定編集 |
editFileIconSettings |
ファイルアイコン設定編集(チャット添付ファイル) |
editFileDisplaySetting |
チャットファイル表示設定編集 |
createEventNotificationSetting |
イベント通知設定作成(sysadmin でない管理者のみ実行可) |
updateEventNotificationSetting |
イベント通知設定更新(sysadmin でない管理者のみ実行可) |
deleteEventNotificationSetting |
イベント通知設定削除(sysadmin でない管理者のみ実行可) |
setLineChannel |
LINEチャンネル設定 |
setLineChannelPassword |
LINEチャンネルパスワード設定 |
deleteLineChannel |
LINEチャンネル削除 |
setLineDeviceDisplaySetting |
LINE端末表示設定 |
setLineCustmerDisableTime |
LINE顧客停止時間設定 |
setLineReceptCodes |
LINE受付コード設定 |
deleteLineReceptCodes |
LINE受付コード削除 |
createBusLocaEnv |
バスロカ環境作成 |
setLineOperationPlans |
LINE運行計画設定 |
uploadLineIconImage |
LINEアイコン画像アップロード |
updateLineApproachNotification |
LINE接近通知設定更新 |
createEventNotificationSetting/updateEventNotificationSetting/deleteEventNotificationSettingは sysadmin チェック(不可)と非管理者チェック(不可)の2段階になっているため、sysadmin でない管理者ユーザーのみ実行できます。
sysadmin が実行できない操作
IsSysAdmin() が true(ユーザー名が sysadmin)の場合に 403 Forbidden を返します。管理者フラグありの一般管理者ユーザーは実行可能です。
| GraphQL フィールド | エラーメッセージ |
|---|---|
sendMessage / resendMessage |
システム管理者はメッセージ送信できません。 |
sendEscort |
システム管理者はエスコート機能を利用できません。 |
escortHistories(Query) |
システム管理者はエスコート機能を利用できません。 |
editDashboard |
システム管理者はダッシュボード設定機能を利用できません。 |
deleteDashboard |
システム管理者はダッシュボード設定機能を利用できません。 |
editExternalApi |
システム管理者はダッシュボード設定機能を利用できません。 |
deleteExternalApi |
システム管理者はダッシュボード設定機能を利用できません。 |
addWidgetOptions |
システム管理者はダッシュボード設定機能を利用できません。 |
deleteWidgetOption |
システム管理者はダッシュボード設定機能を利用できません。 |
editLandmarkShortcut |
システム管理者はランドマークショートカット機能を利用できません。 |
editLandmarkShortcutOrder |
システム管理者はランドマークショートカット機能を利用できません。 |
deleteLandmarkShortcut |
システム管理者はランドマークショートカット機能を利用できません。 |
landmarkShortcuts(Query) |
システム管理者はランドマークショートカット機能を利用できません。 |
createEventNotificationSetting |
システム管理者はイベント通知設定を利用できません。(管理者フラグありの非 sysadmin ユーザーは実行可) |
updateEventNotificationSetting |
システム管理者はイベント通知設定機能を利用できません。(同上) |
deleteEventNotificationSetting |
システム管理者はイベント通知設定を利用できません。(同上) |
downloadHistories(Query) |
(sysadmin による参照不可) |
setDownloadHistory |
(sysadmin による操作不可) |
userLogout |
(sysadmin のログアウト不可) |
mobiles(Query) |
sysadmin は端末一覧取得時に一部処理がスキップされる |
オプション機能コード(OptionFunc)
顧客ごとに有効なオプション機能コードの一覧(OptionFuncCode)が mloca-api から取得されます。コードが有効でない場合、該当機能は 403 Forbidden を返します。
| コード | 機能名 | 挙動 |
|---|---|---|
| 2 | モバロケWeb版 | ログイン時、アプリ種別 appType=2 のログインを許可 |
| 3 | モバロケモバイル版 | ログイン時、アプリ種別 appType=3 のログインを許可 |
| 4 | 業務ボタン(4ボタン) | 運転日報に業務ボタン状態を含める / アイコン設定に反映 |
| 5 | 運転日報 | 運転日報機能の利用可否(未有効の場合は即403) |
| 7 | 配送状況 | 運転日報に配送状況(配送急行ステータス)を含める |
| 9 | 緊急ボタン | 緊急アイコン表示(jp リージョン限定)/ 運転日報に緊急ステータスを含める |
| 10 | ドア開閉センサー | ドア状態アイコン表示 / 運転日報にドア状態を含める |
| 12 | 業務ボタン(多ボタン) | 運転日報に業務ボタン情報(BizButtonSetting)を含める |
| 13 | タクシーメーター | 運転日報にタクシーメーター状態を含める |
| 18 | Googleマップ版 | ログイン時、mapType=2(Googleマップ)かつ jp リージョンでのログインを許可 |
| 24 | ジオフェンス(MGate) | 地点作成・更新・削除時のジオフェンス登録・削除処理を有効化 |
| 30 | LINE受付コード(物流) | LINE物流 edition の受付コード機能を有効化 |
| 31 | 多要素認証(MFA) | ログイン時のMFA処理を有効化 / ユーザーアカウント作成・更新・削除時のMFAデータ連携を有効化 |