RP trao đổi mã truy cập với IdP

Một phần của tài liệu Tích hợp OpenID và OAuth mở rộng với thẻ thông tin CardSpace (Trang 39 - 40)

3.2.1 RP lấy thẻ yêu cầu từ IdP

RP lấy thẻ yêu cầu đã được sự ủy quyền của người dùng từ IdP. Cụ thể: RP sẽ nhúng một yêu cầu chấp nhận OAuth vào trong một yêu cầu xác thực OpenID rồi gửi tới IdP. Những thông tin của một yêu cầu chấp nhận OAuth (OAuth approval request) mà RP gửi tới IdP bao gồm:

 openid.ns.oauth (bắt buộc): http://specs.openid.net/extensions/oauth/1.0

 openid.oauth.consumer (bắt buộc): Giá trị của consumer key.

 openid.oauth.scope (tùy chọn).

IdP sẽ thẩm định những thông tin mà RP gửi lên. Nếu thỏa mãn và được sự ủy quyền của người dùng thì IdP sẽ gửi thẻ yêu cầu như là một phần của kết quả về phía RP. Thẻ yêu cầu sẽ được trả theo các tham số sau:

 openid.ns.oauth: http://specs.openid.net/extensions/oauth/1.0.

 openid.oauth.request_token: Một request token mà được người ủy quyền

 openid.oauth.scope (tùy chọn).

Nếu người dùng từ chối RP truy cập dữ liệu trên IdP thì kết quả trả về từ phía IdP chỉ có tham số: openid.ns.oauth.

3.2.2 RP trao đổi mã truy cập với IdP

RP sử dụng thẻ yêu cầu để trao đổi lấy thẻ truy cập từ IdP. Quá trình trao đổi này giống với quá trình trao đổi trong OAuth chuẩn. Có nghĩa là để yêu cầu một thẻ truy cập, RP phải tạo một yêu cầu HTTP rồi gửi tới URL “access token” của IdP . RP sử dụng những giá trị dưới đây để tạo yêu cầu thẻ truy cập.

 consumer key: RP sử dụng chung “consumer key” với IdP.

 consumer secret: RP sử dụng chung “consumer secret” với IdP.

 oauth token: RP sử dụng “request token” ở bước trước.

 oauth token secret: RP sử dụng một chuỗi trống.

IdP sẽ thẩm định và kiểm tra các tham số mà RP gửi lên. Nếu thỏa mãn thì IdP sẽ trả lại phía RP một “access token” theo các tham số sau:

 openid.ns.oauth: http://specs.openid.net/extensions/oauth/1.0.

 openid.oauth.access_token: Giống với access token như ở trong OAuth chuẩn.

 openid.oauth.access_token_secret: Giống với “token secret” trong OAuth chuẩn.

Một phần của tài liệu Tích hợp OpenID và OAuth mở rộng với thẻ thông tin CardSpace (Trang 39 - 40)