Oauth-http://oauth.net/

Oauth là phương pháp chia sẻ tài nguyễn giữa client và server mà không dùng đến username password.

Oauth có 2 phiên bản 1.0a và 2.0

Oauth 1.0 a workflow:

1.Get customer key và secret key

Ảnh-chụp-Màn-hình-2014-08-25-lúc-21.31.33-300x159.png

Provider ( Nhà cung cấp ví dụ yahoo) cho bạn Customer key và secret key

2.Request Token

Ảnh-chụp-Màn-hình-2014-08-25-lúc-21.31.33-300x159.png

Example:

GET /get_request_token?oauth_version=1.0 &oauth_nonce=4f7cbc67b835fbe59920377f81cc3a53 &oauth_timestamp=1291159360 &oauth_consumer_key=dj0yJHIzTWZmVXBmJmQ9WVdrOWFGZEhhMFozT... &oauth_callback=http%3A%2F%2Fwww.client.com%2Fcomplete.php &oauth_signature_method=HMAC-SHA1 &oauth_signature=ItMr5tJNiobZX5iDIZj2%2FCJSkoI%3D

HTTP/1.1Host: server.example.com

oauth_signature: example:php http://php.net/manual/en/oauth.generatesignature.php

  • The response comeback like :

oauth_token=kced47h &oauth_token_secret=eb086a06b3f11a52fe7 &oauth_expires_in=3600 &oauth_callback_confirmed=true

  1. Get the user-verified request token

Ảnh-chụp-Màn-hình-2014-08-25-lúc-21.31.33-300x159.png

  1. Exchange the verified request token for an access token

vd:https://api.login.yahoo.com/oauth/v2/get_token ?oauth_consumer_key=drOWFGZE9Y29uc3VtZXJzZWNyZXQmeD1hYw... &oauth_signature_method=PLAINTEXT

&oauth_version=1.0&oauth_verifier=svmhhd &oauth_token=gugucz&oauth_timestamp=1228169662 &oauth_nonce=8B9SpF &oauth_signature=5f78507cf0acc38890cf5aa697210822e90c8b1c%261fa6

Ảnh-chụp-Màn-hình-2014-08-25-lúc-21.31.33-300x159.png

response object like :

oauth_token=A%3DxiraOmPvtwHafRZOU0epGHTkBJhh63fh4crKlGJc57JBD... &oauth_token_secret=a8f1fb99c205104af72f6ba45896d33c5b3b9949 &oauth_expires_in=3600

  • Đối với mobile thì việc xử dụng token khá dễ dàng vì API của provider đã cung cấp thư viện sẵn để xử lý authorize và access. Ảnh-chụp-Màn-hình-2014-08-25-lúc-21.31.33-300x159.png