Home > All, Flash/Flex/AIR > Phần II: Authentication (Working with Youtube In Flash/Flex)

Phần II: Authentication (Working with Youtube In Flash/Flex)

Mọi request cùng domain với Google đều không cần Authentication, nhưng với  API Google dành cho developer sử dụng, cho nên mọi request khác domain đến API của nó đều phải đc chứng nhận Authentication và đây là quy định bắt buộc của cho những request khác domain của Google nói chung và Youtube nói riêng.

Như vậy chúng ta cần làm gì để đc Google chứng nhận cho dùng API của nó ?

-Điều đầu tiên và cần thiết nhất là Youtube cần biết tác giả của ứng dụng, người phát triển ứng dụng WHO ARE YOU ,

Mọi request API của Google đều phải include 2 chìa khóa chính Authorization header và X-GData-Keyheader

X-GData-Key header được quy định thông qua Developer Key của tài khoản google của bạn.

Authorization header được quy định thông qua Authentication Token là một chuỗi chứng nhận Google gởi cho bạn


Để đăng ký key, bạn vào trang này http://code.google.com/apis/youtube/dashboard/gwt/index.html để tạo 1 new product, sau đó google sẽ cung cấp cho bạn 1 developer key với lời nhắc nhở “The Developer Key should be provided in every YouTube API request.

Với Developer Key, Youtube cung cấp cho bạn 3 phương thức để có Authentication Token cho phép bạn được truy xuất dữ liệu và API của nó: cả 3 phương thức đều nhằm mục đích xác nhận Authentication của bạn trong mỗi request API của bạn lên Youtube và 3 phương thức sẽ phù hợp với những loại ứng dụng khác nhau: AuthSub proxy authentication, OAuth protocol và ClientLogin Authentication.


1)AuthSub proxy authentication:


Phương thức này cho phép ứng dụng của bạn được authenticated bởi Google thông qua việc user đăng nhập tài khoản trực tiếp trên site của Google và qua đó ứng dụng có thể dùng authentication này để truy cập dữ liệu bằng tất cả API mà google public nói chung va API Youtube nói riêng.

Lưu ý: Ứng dụng của bạn chỉ có đc chứng nhận authentication này khi user login tài khoản của họ trên google. Điều này ngăn không cho ứng dụng của bạn biết  username và mật khẩu của user. User sẽ yên tâm hơn, vì họ chỉ cần điền username và passoword trên site của youtube, chứ không phải nhập ở 1 site khác mà họ chưa rõ về bảo mật. Phương thức này nên được áp dụng trong trường hợp ứng dụng của bạn giúp user liên kết đến video, comments, rating, contact hoặc các thông tin khác trên tài khoản của họ.

Chúng ta sẽ hiểu hơn sau sơ đồ flow sau:

Khi user vào trang web của bạn để truy cập data từ Google:

(1) Web application của bạn sẽ request chứng nhận lên Google,

(2)Web application của bạn sẽ redirect user đến trang login page https://www.google.com/accounts/AuthSubRequest

(3)User login account của họ trên trang Google.

(4)Khi user login thành công, Google sẽ redirect user trở về trang của bạn với 1 chuỗi token đc xem là chìa khóa giúp web application của bạn có thể truy xuất vào data của user trên Youtube.

(5)Mỗi lần dùng API Youtube request về site Youtube, bạn điều phải gởi kèm chìa khóa token này để làm tin😀

(6)Sau khi Youtube kiểm tra chìa khóa token thành công, nó sẽ trả về kết quả mà bạn mong muốn.

Để lấy chứng nhận bằng phương thức này, ứng dụng của bạn cần redirect user đến URL sau:

https://www.google.com/accounts/AuthSubRequest?
      next=http%3A%2F%2Fwww.example.com%2Fupload.html
      &scope=http%3A%2F%2Fgdata.youtube.com
      &session=0
      &secure=0
Parameter Description
next (required) giá trị là một URL sẽ đc redirect sau khi user login thành công, bạn có thể dùng parametter này để redirect user quay trở lại site của bạn sau khi họ đăng nhập trên google thành công.
scope (required) là URL của API google mà bạn muốn sử dụng.

API Youtube là : http://gdata.youtube.com/

API Picasa là: http://picasaweb.google.com.data/

btmpl (optional) dành cho mobile request và giá trị chấp nhận duy nhất là  “mobile” nếu ko thì ko đưa parametter này vào request.
secure (optional) có 2 giá trị 1 hoặc 0.1: chỉ định thiết lập bảo mật cho chìa khóa Authentication được trả về.

0: không cần bảo mật

session (optional) có 2 giá trị là 1 hoặc. Chỉ định chìa khóa Authentication Token có thể bị thay đổi hay không?Nếu ta set 1: chìa khóa Authentication Token của ta sẽ có thể bị thay đổi bằng cách “call AuthSubSessionToken service to exchange token for a long-lived session token”.

https://www.google.com/accounts/AuthSubRequest?
      next=http%3A%2F%2Fwww.example.com%2Fupload.html
      &scope=http%3A%2F%2Fgdata.youtube.com
      &session=0
      &secure=0

Sau đây là ví dụ đơn giản:

Please click here to get authentication from Youtube

Link trên đơn giản make a request https://www.google.com/accounts/AuthSubRequest?next=https://namheo.wordpress.com&scope=http://gdata.youtube.com&session=0&secure=0

Sau khi redirect đến trang đăng nhập Google, bạn đăng nhập bằng account của mình. Sau khi đăng nhặp thành công, Google sẽ return bạn về trang next=https://namheo.wordpress.com ,cùng với chìa khóa Authentication Token https://namheo.wordpress.com/?token=COPmi-fsExC64ulvGKjS4Uc

chìa khóa mở cửa mọi API public của Google ^^

To be continue . . .


Categories: All, Flash/Flex/AIR Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: