[SA HW3]matrix:mas 問題

106 views
Skip to first unread message

Jo-ting Chen

unread,
Dec 1, 2025, 10:53:49 AM (7 days ago) Dec 1
to NYCU NASA 課程討論區
助教您好,

我卡在這個測資,但沒有任何錯誤訊息,只有以下資訊,因此想詢問這裡除了要將id key加入到etc/environment 還需要做什麼?謝謝助教的協助。

###### 1/4: Check MAS Client Credentials Flow 
###### 2025-12-01 23:49:55 [INFO] Found MAS client credentials.

bogay.cs12

unread,
Dec 1, 2025, 11:53:48 AM (7 days ago) Dec 1
to NYCU NASA 課程討論區
同學你好,
你在自己的機器上可以正常使用你提供的 client credentials 拿到 access token 嗎?
會停在這一步應該是因為拿 access token 的時候失敗了。

TA bogay

518j...@gmail.com 在 2025年12月1日 星期一晚上11:53:49 [UTC+8] 的信中寫道:

Jo-ting Chen

unread,
Dec 3, 2025, 5:34:21 AM (5 days ago) Dec 3
to NYCU NASA 課程討論區
助教您好,

我已經有用 $SA_MAS_CLIENT_ID $SA_MAS_CLIENT_SECRET POST "https://auth.{ID}.cs.nycu/realms/sa2025/protocol/openid-connect/token 去取得 access token 了但 oj 上還是只有顯示###### 1/4: Check MAS Client Credentials Flow ###### 2025-12-03 18:25:34 [INFO] Found MAS client credentials. 同時我也有確認執行 echo $SA_MAS_CLIENT_SECRET 也都可以取得secret。想請問助教能不能再給一些提示說明現在為何會卡住?

謝謝助教的協助。

莊博傑

unread,
Dec 3, 2025, 6:55:35 AM (5 days ago) Dec 3
to Jo-ting Chen, NYCU NASA 課程討論區
同學你好,
能否說明一下你是怎麼樣取得 access token 的?請一併幫我附上執行的 command 與 response 截圖,這樣我可能比較好判斷問題出在哪裡。


--
這是 Google 網路論壇針對「NYCU NASA 課程討論區」群組發送的訂閱通知郵件。
如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 nctunasa+u...@googlegroups.com
如要查看這個討論,請前往 https://groups.google.com/d/msgid/nctunasa/9b6ed30d-c6d2-4bf7-9331-cb2a26fa7476n%40googlegroups.com

Jo-ting Chen

unread,
Dec 6, 2025, 7:17:25 AM (2 days ago) Dec 6
to NYCU NASA 課程討論區
助教您好:

我目前修改完自己的 mas/config 可以成功取得access token,如下圖。之前您有提到說會用api/admin/v1/version去測試是否是有效的token,但我在打這個api都出現404 not found的html,然而在測試其他的admin api像是api/admin/v1/users都是沒問題的,想請問還有缺少什麼設定嗎?下方附上指令截圖以及oj畫面,謝謝助教的協助。
截圖 2025-12-06 晚上8.16.12.png
截圖 2025-12-06 晚上8.08.33.png
截圖 2025-12-06 晚上8.14.59.png

李宗諺

unread,
Dec 6, 2025, 8:43:13 AM (2 days ago) Dec 6
to NYCU NASA 課程討論區
助教您好:

我目前也在mas遇到了相同的問題,並且OJ也是停在
###### Check Server Name via MAS Admin API ######
沒有進一步的訊息

一開始我在 VM 上,用和 OJ 一樣的 SA_MAS_CLIENT_ID / SA_MAS_CLIENT_SECRET,先用 client credentials flow 拿 token:
POST https://mas.112550039.cs.nycu/oauth2/token
  grant_type=client_credentials
  scope=urn:mas:admin

這個請求是 HTTP 200,可以拿到 "access_token"、"token_type":"Bearer"、"scope":"urn:mas:admin" 等欄位,代表 client credentials flow 本身是 OK 的。但是在那個時候,只要帶著這顆 token 去打 MAS Admin API,包含:
    GET https://mas.112550039.cs.nycu/api/admin/v1/users
    GET https://mas.112550039.cs.nycu/api/admin/v1/version
    GET https://mas.112550039.cs.nycu/api/admin/v1/server

這三個我測的 Admin API 路徑,全部都是 HTTP 404,body 是 HTML。
token 是有效的,但當時我這個 MAS 版本下面,admin API 幾乎都沒有對應的 REST endpoint。

因為題目說「會用 MAS Admin API 檢查 server name」,我懷疑 judge script 會打 /api/admin/v1/version 或 /api/admin/v1/server 之類的 endpoint,所以 Caddy的 https://mas.112550039.cs.nycu vhost 上加了一層 shim,之後又寫了一個簡單的腳本測試
Screenshot 2025-12-06 211715.png
可以看到 原本全部 404 的問題,目前在本機的 HTTP 行為上已經被 shim 修掉了,但OJ依舊卡在
###### Check Server Name via MAS Admin API ######

所以想請問助教
1.matrix:mas - mas 測資中的「Check Server Name via MAS Admin API」實際呼叫的是哪一個 HTTP endpoint,是 GET /api/admin/v1/version、GET /api/admin/v1/server,還是其他路徑?
2.在同一個測試中,judge script 對回傳 JSON 的預期格式大概是什麼,是從homeserver.server_name 這個欄位讀取 server name,還是會去讀其他 key? 以及除了server name 之外,這個測項會不會同時檢查 version 或其他欄位(例如必須和 Synapse 的某個設定值一致)?
3.除了 REST admin API 之外,這個測項在檢查 server name 時,會不會同時呼叫 MAS 的 GraphQL endpoint (例如 /graphql)?
518j...@gmail.com 在 2025年12月6日 星期六晚上8:17:25 [UTC+8] 的信中寫道:
Reply all
Reply to author
Forward
0 new messages