Cơ chế đề xuất dựa trên những đặc điểm cơ bản từ cơ chế Oauth chuẩn, đơn giản hóa cấu trúc gói tin và lược bỏ bớt những thông tin không thật cần thiết mà vẫn đảm bảo các chính sách với bên phát triển ứng dụng thứ 3.
Hình 22: Quy trình xử lý xác thực, ủy quyền truy xuất tài nguyên đề xuất với bài toán hiện tại
Trong đề xuất này, cơ chế xác thực vẫn giữ lại những đặc điểm quan trọng từ mô hình chuẩn: token, secret_token, authorization của User tại Service Provider, access token, vv..
Cụ thể quy trình xử lý tuân theo các bước sau:
Bước 1: Khi SC muốn sử dụng tài nguyên tại SP, SU xác nhận yêu cầu của SC
Bước 2: SC gửi request token tới SP. Gói tin bao gồm: - Consumer_key
- Consumer_secret_key
Bước 3: SP kiểm tra thông tin SC đã đăng ký tại SP, nếu thỏa mãn, sẽ gửi trả lại lại SC yêu cầu redirect SU tới SP và kèm theo thông tin:
- Token_key
- Secret_token_key
Bước 4: SC tiến hành redirect SU tới trang xác thực của SP, thông tin gửi kèm bao gồm:
- Consumer_key - Token_key
52
Bước 5: Người dùng tiền hành xác thực tài khoản của mình tại SP, SP kiểm tra thông tin, nếu thỏa mãn SP sẽ chuyển tiếp SU về SC kèm theo trạng thái xác thực cho SC. Thông tin gửi về SC bao gồm:
- Token_key - Oauth_verifier - Oauth_permission
Bước 6: SC gửi yêu cầu access token cho SP cho phiên làm việc. Thông tin gửi đi bao gồm:
- Consumer_key - Token_key
Bước 7: SP kiểm tra thông tin SC gửi, nếu thỏa mãn SP gửi lại access token cho SC. Thông tin gửi đi bao gồm:
- Token_key - Access_token
Bước 8: Khi cần truy xuất tài nguyên, SC gửi yêu cầu kèm theo access token tới SP. Thông tin gửi bao gồm:
- Token_key - Access_token - Request_data
Bước 9: SP trả lại dữ liệu cho SC, thông tin bao gồm: - Token_key
- Data