Quyết định Xác thực
Theo phần trên, SP có thể đã gọi API xác thực và dưới đây là một số hướng dẫn về cách đưa ra quyết định về phản hồi xác thực mã thông báo.Dựa trên phản hồi từ phần trước, "Xác minh mã thông báo truy cập" và "Lấy API thông tin người dùng", SP nên kiểm tra bên dưới theo thứ tự thời gian:
1.(Bắt buộc) Theo phản hồi của API "Xác minh mã thông báo truy cập", Nếu mã thông báo không hoạt động, tức là active=false, thì máy chủ tài nguyên hoặc SP sẽ từ chối quyền truy cập vào tài nguyên.
2.(Bắt buộc) Nếu SP muốn xác minh xem mã thông báo được trình bày có được phát hành bởi một khách hàng cụ thể hay không, thì nó phải xác minh giá trị của "client_id" hoặc các giá trị có sẵn trong "client_claims" từ phản hồi của API "Xác minh mã thông báo truy cập".
Ví dụ: nếu SP muốn xác thực rằng mã thông báo được trình bày được phát hành bởi "Ứng dụng SDG Digital Vault" thì nó phải kiểm tra các giá trị bên dưới:
"client_claims":
{
"distinguished_name":"CN=SDG DigitalVault",
"sub":"sdg_digitalvault",
"name":"SDG Digital Vault App",
"domain":"urn:safelayer:eidas:domain:oauth:client",
"acr":"urn:safelayer:tws:policies:authentication:level:low",
"amr":"["urn:oasis:names:tc:SAML:1:0:am:password"]
}
3.(Tùy chọn nhưng được khuyến nghị) Nếu SP cần xác định "uuid" của người dùng đã được xác thực bằng mã thông báo truy cập được trình bày, thì SP nên kiểm tra giá trị của thuộc tính "sub" được trả về trong phản hồi API "Xác minh mã truy cập".
Ví dụ: SP cần lấy "uuid" của người dùng được xác thực như sau:
"sub": "800F475AC0E7A9ED01B2D5D2C25A59B3",
…
…………
…………
"acr":
"urn:safelayer:tws:policies:authentication:level:high",
"mobile": "9715555555555",
"amr": [ "urn:safelayer:tws:policies:authentication:adaptive:methods:mobileid", "urn:uae:authentication:method:verified"]
}
4.(Tùy chọn nhưng được khuyến nghị) Nếu SP cần tìm nạp các tuyên bố hoặc thuộc tính (ví dụ: ID Emirates, v.v.) của người dùng thuộc mã thông báo truy cập, thì SP nên gọi "API thông tin người dùng" như đã đề cập trong Phần trước.
Ví dụ: SP cần lấy ID Emirates của người dùng đã xác thực, sau đó họ nên gọi "API thông tin người dùng" và xác thực các thuộc tính được trả về trong phản hồi.
5.(Tùy chọn) Nếu SP cần đảm bảo rằng mã thông báo truy cập được trình bày được phát hành cho một phạm vi cụ thể, để quyết định có cung cấp quyền truy cập hay không, thì nó nên kiểm tra giá trị của tham số "phạm vi" trong phản hồi mã thông báo xác thực.
"active": true,
"scope":
"urn:uae:digitalid:profile:general", "exp":
}
Was this helpful?
Thank you!