Để trả lời câu hỏi cụ thể của bạn, bạn có thể nhận được các thông số yêu cầu (query) bằng cách gọi:
Controller.request().queryString()
Bắt OAuth2 là dễ dàng nhưng không phải tầm thường. Nó giúp để có một mẫu làm việc. Tôi khuyên bạn nên tải xuống Play1 và tìm kiếm mẫu để Xác thực Facebook. Và sau đó chuyển mã sang Play2. Tôi đã làm ở trên và thấy rằng quá trình này rất hữu ích. Bạn sẽ nhận ra rằng mỗi trang web và API có quirks/nhu cầu, do đó, có rất ít mã bổ sung mà dường như có thể sử dụng hình thức một trang web khác.
Câu trả lời từng bước khác là có một số bước. Trước tiên, bạn cần có một số access_token
và sau đó bạn có thể sử dụng nó. Để có được một access_token
bạn cần phải gửi người dùng đến các url trang web cho phép, cho đến nay facebook này sẽ là một cái gì đó như:
https://graph.facebook.com/oauth/authorize/?client_id=idFromFacebook&redirect_uri=http://yourdomain.com/auth
Khi người dùng của bạn đã được chấp nhận uỷ quyền, trang web sẽ chuyển hướng người dùng với một mã số, một cái gì đó như http://yourdomain.com/auth?code=XYZ_ABC
. Sau đó, bạn sẽ cần phải yêu cầu từ url mã thông báo truy cập trang web để nhận mã thông báo truy cập. Đối với Facebook, điều này giống như sau:
https://graph.facebook.com/oauth/access_token?client_id=idFromFacebook&client_secret=secredFromFacebook&code=XYZ_ABC&redirect_uri=...
Phản hồi từ url trên sẽ có access_token
trong đó.
Bây giờ, bạn có thể bắt đầu sử dụng mã thông báo truy cập để yêu cầu thông tin.
Bạn đã giải quyết vấn đề này chưa? – 030
Trong trường hợp giúp, tác giả của cuốn sách "Play Framework Essentials", Julien Richard-Foy, đã bao gồm [ví dụ] (https://github.com/julienrf/pfe-samples/blob/ea59bd7/pfe-scala /oauth/app/controllers/oauth/OAuth.scala) trong repo github của cuốn sách. Tôi đã không xem xét nó nhiều như tôi đã chọn sử dụng Silhouette thay vào đó, nhưng nó có thể cung cấp một số hiểu biết tốt – acros