Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 2.9 KB

File metadata and controls

23 lines (17 loc) · 2.9 KB

NII GRDM - mAP core連携機能 懸案事項

懸案事項

GRDMユーザーごとにmAP core操作用アクセストークン取得が必要であることの問題点

  • mAP core APIを使うにはGRDMユーザーごとにOAuthによるアクセストークン取得が必要になっている。
  • 初回ログイン時に画面遷移が多く、いまどこにアクセスしているかわかりにくく、使い勝手が悪い。(ユーザーごとに一度だけ)
  • ユーザーごとのアクセストークン管理、API発行時トークン切り替えリトライ機構など、GRDM側の実装が複雑になっている。
  • GRDM側プロジェクト管理者がGRDMにログインしていない場合、または有効なアクセストークンがセットされていない場合、他の一般コントリビューターの操作がmAP側に同期されない場合がある。
  • クラウドゲートウェイのグループ管理者が総入れ替えされた場合、そのグループにアクセスできるユーザーがGRDM側に居ないため、グループ情報の同期が不能になる。
  • 自らプロジェクトを退会する場合に、管理者のアクセストークンが無効になっていると、メンバー状態を同期できない。(後述)
  • 対策案
    • ユーザーごとのアクセストークンではなく、GRDMシステムの権限(SPの証明書など)だけで、すべてのmAP core APIを操作できれば、ユーザーごとのアクセストークン管理などが不要になり、同期不能になる条件も無くなり、実装もシンプルになる。

自ら退会する機能がmAP core API にて未実装の影響

  • mAPのグループから自ら退会するAPIがmAP coreにはない。(2019年8月 時点)
  • そのため、GRDMのプロジェクトで自ら脱退する場合、mAPグループ管理者のアクセストークンで、メンバー削除APIを操作する。
  • そのため、あるmAPグループに属しているすべての管理者のアクセストークンが利用不可の場合に一般メンバーが脱退する場合、または、あるmAPグループに属している管理者が自ら脱退する場合にその他管理者のアクセストークンが利用不可の場合、mAP側にメンバーの状態を反映できずエラーになる。
  • 上記が原因でプロジェクトのページアクセス時にエラーになる場合、そのプロジェクト管理者の一人がGRDMに再ログインしてmAP coreのアクセストークンを取得しなおすことで、復旧できる。
    • プロジェクト管理者が再ログインしても復旧できない場合は、プロジェクト管理者のアクセストークンを強制的に無効化してから再取得する。無効化するにはserverコンテナ上で invoke mapcore_remove_token コマンドを使用する。(README-mapcore.md 参照)