Tra cứu scope
Danh sách scope có thể yêu cầu và thông tin người dùng mà mỗi scope trả về.
Đặt scope vào tham số scope của yêu cầu ủy quyền (authorization request), phân cách bằng dấu cách. Các scope đã yêu cầu được hiển thị nguyên vẹn cho người dùng ở màn hình đồng ý.
Các scope có thể yêu cầu
| Scope | Hiển thị ở màn hình đồng ý | Cách cấp |
|---|---|---|
profile.basic | UUID, biệt danh, địa chỉ email | Mặc định cho mọi dịch vụ |
profile.avatar | URL ảnh đại diện | Mặc định cho mọi dịch vụ |
service.domain.read | Thông tin tên miền của dịch vụ đã kết nối | Quản trị viên cấp thủ công |
service.member_email.read | Địa chỉ email của thành viên | Dấu hiệu nội bộ — không yêu cầu trực tiếp (xem bên dưới) |
Nếu không đưa scope nào vào, hoặc đưa giá trị không có trong danh sách, yêu cầu sẽ bị từ chối với invalid_scope.
Nếu yêu cầu scope chưa được cấp cho dịch vụ, kết quả là insufficient_scope.
★ Chính sách email — cung cấp mặc định (opt-out)
Email được gộp vào profile.basic và được cung cấp mặc định.
Đây không phải scope yêu cầu riêng; khi được đồng ý profile.basic thì email tự động đi kèm.
Dịch vụ có thể tắt (opt-out) để không nhận email. Khi đó,
dấu hiệu service.member_email.read không được gắn vào scope hiệu lực,
và trường email sẽ không có trong phản hồi của /oauth/userinfo.
Tóm lại, trường email chỉ xuất hiện khi cả hai điều kiện sau đều đúng.
- Scope hiệu lực của token có
profile.basic - Dịch vụ đó không tắt việc cung cấp email
Các trường phản hồi tăng thêm theo scope
| Trường | Khi nào có | Mô tả |
|---|---|---|
sub | Luôn có | Mã định danh người dùng khác nhau theo từng dịch vụ (pairwise) |
nickname | Luôn có | Biệt danh của người dùng |
scope | Luôn có | Scope hiệu lực của token này |
profile_image_url | profile.avatar | URL ảnh đại diện. Là null nếu chưa có ảnh |
email | Thỏa hai điều kiện trên | Địa chỉ email |
service.domain.read
Đây là scope để đọc danh sách dịch vụ của chính người dùng mà họ đã đăng ký trên Tài khoản 놀아.
Không cần cho đăng nhập thông thường, chỉ dùng khi bạn xây công cụ quản lý dịch vụ.
Quản trị viên cấp thủ công; nếu yêu cầu khi chưa được cấp thì sẽ báo insufficient_scope.
Cách đọc xem /oauth/domain-info trong Tra cứu API.
Tổ hợp khuyến nghị
scope=profile.basic profile.avatar // đăng nhập mạng xã hội thông thường scope=profile.basic // khi không cần ảnh đại diện
Yêu cầu scope không cần thiết sẽ làm màn hình đồng ý dài hơn và khiến nhiều người dùng bỏ dở. Chỉ yêu cầu những gì bạn thực sự dùng.