25/04/2018 17:36

Thông báo

VinaBB đang trong trạng thái vọc phá liên tục, mọi trang đều có thể xuất hiện lỗi >w< O:)
Nếu bạn không thể gửi bài trong diễn đàn hỗ trợ, hãy gửi tin nhắn cho chúng tôi qua Facebook: https://facebook.com/vinabb

Đăng nhập phpBB từ mạng xã hội

Đăng nhập phpBB từ mạng xã hội
nedka
Đăng nhập bằng tài khoản mạng xã hội đã có rất lâu từ thời phpBB 3.1. Tuy nhiên, gần đây thư viện API của các mạng này đã mở rộng chức năng và yêu cầu khai báo rất nhiều khi bạn đăng ký một ứng dụng mới cho diễn đàn của mình. Bài viết này sẽ giúp bạn vượt qua những khó khăn đó dễ dàng!

Trước khi bắt đầu
Muốn tích hợp đăng nhập tài khoản mạng xã hội nào, bạn cần phải truy cập vào kênh phát triển của từng mạng, đăng ký một ứng dụng cho diễn đàn phpBB của mình. Khi hoàn tất đăng ký, bạn sẽ được cung cấp 2 chuỗi khóa: một khóa ứng dụng và một khóa bảo mật đi kèm. Bạn nhập 2 khóa này vào phần thiết lập xác thực OAuth của phpBB là diễn đàn của bạn có ngay nút đăng nhập qua mạng xã hội.

Mỗi mạng xã hội có thể có những yêu cầu khác nhau khi bạn đăng ký ứng dụng, tùy vào chính sách của họ. Ví dụ, Twitter yêu cầu bạn phải xác thực số điện thoại của mình, trong khi Facebook và Google+ yêu cầu phải cung cấp một trang thông tin về tính riêng tư và một trang điều khoản sử dụng.

Bài viết này sẽ giúp bạn khai báo chính xác từng mục khi đăng ký ứng dụng trên 3 mạng xã hội phổ biến nhất hiện nay là Facebook, Twitter và Google+. Mặc định, tên miền cài đặt diễn đàn trong tất cả ví dụ dưới đây sẽ là https://vinabb.vn/. Bạn cần thay đổi lại theo đúng tên miền của mình, như domain.com, forum.domain.com hay có thêm thư mục con như domain.com/phpBB/. Ngoài ra, nếu tên miền của bạn không dùng chứng chỉ SSL, hãy thay thế https thành http. Nhưng lưu ý với bạn rằng Facebook yêu cầu https mới có thể xác thực tài khoản mạng này qua OAuth được.

Facebook
Trang đăng ký: https://developers.facebook.com/

Hình ảnh
Bấm nút Get Started ở góc phải đầu trang.

Hình ảnh
Bấm Next.

Hình ảnh
App Name: Tên ứng dụng Facebook của bạn.
Contact Email: Hộp thư nhận thông báo khi có thay đổi dịch vụ.

Bấm Next.

Hình ảnh
Chọn Developer.

Hình ảnh
Bấm nút Add Your First Product.

Hình ảnh
Bấm nút Set Up trong phần Facebook Login.

Hình ảnh
Chọn Web.

Hình ảnh
Site URL: Liên kết đến trang chủ diễn đàn phpBB của bạn.

Bấm Save. Bạn không cần phải khai báo các mục tiếp theo nữa.

Hình ảnh
Từ trình đơn bên trái, hãy chọn Products -> Facebook Login -> Settings.

Hình ảnh
Embedded Browser OAuth Login: Bật nút Yes.
Valid OAuth Redirect URIs: Lần lượt nhập vào các liên kết dưới đây, mỗi lần nhập xong bấm phím Enter để nhập tiếp.

Nếu tên miền không có www:

Chép
https://vinabb.vn/ucp.php?mode=login&login=external&oauth_service=facebook
https://vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=facebook
Nếu tên miền dạng www:
Chép
https://www.vinabb.vn/ucp.php?mode=login&login=external&oauth_service=facebook
https://www.vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=facebook
Nếu tên miền vừa có www vừa không-www cùng tồn tại:
Chép
https://vinabb.vn/ucp.php?mode=login&login=external&oauth_service=facebook
https://www.vinabb.vn/ucp.php?mode=login&login=external&oauth_service=facebook
https://vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=facebook
https://www.vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=facebook
Bấm nút Save Changes.

Hình ảnh
Từ trình đơn bên trái, chọn Settings -> Basic.

Hình ảnh
App ID: Chính là khóa ứng dụng.
App Secret: Chính là khóa bảo mật.
Privacy Policy URL: Nhập vào https://vinabb.vn/ucp.php?mode=privacy.
Terms of Service URL: Nhập vào https://vinabb.vn/ucp.php?mode=terms.
Category: Chọn bất kỳ thể loại nào phù hợp với diễn đàn của bạn.

Bấm nút Save Changes. Sau đó, sao chép 2 khóa bên trên để dán vào trong phần thiết lập OAuth của phpBB.

Hình ảnh
Bấm vào nút OFF đang tắt ở đầu trang để kích hoạt ứng dụng Facebook của bạn cho mọi người dùng được.

Hình ảnh
Bấm nút Confirm.

Hình ảnh
Cửa sổ đăng nhập Facebook từ diễn đàn phpBB của bạn.

Lỗi HTTP 500 khi đăng nhập qua Facebook trên PHP 7.2
Hiện tại, phiên bản phpBB 3.2.2 mới nhất sử dụng thư viện PHPoAuthLib 0.8.10 để xác thực việc đăng nhập từ các mạng xã hội. Thư viện này có một lỗi với PHP 7.2, gây ra lỗi HTTP 500 sau khi người dùng đăng nhập qua Facebook thành công. Do thư viện này đã sửa lỗi trên tại GitHub nhưng vẫn chưa phát hành phiên bản mới, nên nhiều khả năng phpBB 3.2.3 dù có phát hành cũng sẽ vẫn tồn tại lỗi này.

Để tự sửa lỗi, bạn hãy lần lượt mở 3 tập tin sau:
Chép
./vendor/lusitanian/oauth/src/OAuth/OAuth2/Service/Buffer.php
./vendor/lusitanian/oauth/src/OAuth/OAuth2/Service/Pocket.php
./vendor/lusitanian/oauth/src/OAuth/OAuth2/Service/ServiceInterface.php
Tìm:
Chép
public function requestAccessToken($code)
Thay thế (trên cả 3 tập tin):
Chép
public function requestAccessToken($code, $state = null)

Google
Trang đăng ký: https://console.cloud.google.com/

Hình ảnh
Bấm nút Select a project ở đầu trang.

Hình ảnh
Bấm biểu tượng dấu cộng + ở góc phải cửa sổ.

Hình ảnh
Project name: Tên diễn đàn của bạn.

Bấm nút Create.

Hình ảnh
Bấm vào tên diễn đàn bạn vừa tạo.

Hình ảnh
Từ trình đơn bên trái, chọn APIs & Services -> Credentials.

Hình ảnh
Chọn thẻ OAuth consent screen thứ hai.

Product name shown to users: Tên diễn đàn của bạn.
Homepage URL: Liên kết đến trang chủ diễn đàn phpBB của bạn.
Privacy policy URL: Nhập vào https://vinabb.vn/ucp.php?mode=privacy.
Terms of service URL: Nhập vào https://vinabb.vn/ucp.php?mode=terms.

Bấm nút Save.

Hình ảnh
Chuyển qua thẻ Credentials đầu tiên, chọn Create credentials -> OAuth client ID.

Hình ảnh
Application type: Chọn Web application.
Name: Tên diễn đàn của bạn.
Authorized JavaScript origins: Nhập vào liên kết đến trang chủ diễn đàn phpBB của bạn, nhưng bỏ đi index.php và dấu / ở cuối, ví dụ https://vinabb.vn.
Authorized redirect URIs: Lần lượt nhập vào các liên kết dưới đây, mỗi lần nhập xong bấm phím Enter để nhập tiếp.

Nếu tên miền không có www:
Chép
https://vinabb.vn/ucp.php?mode=login&login=external&oauth_service=google
https://vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=google
Nếu tên miền dạng www:
Chép
https://www.vinabb.vn/ucp.php?mode=login&login=external&oauth_service=google
https://www.vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=google
Nếu tên miền vừa có www vừa không-www cùng tồn tại:
Chép
https://vinabb.vn/ucp.php?mode=login&login=external&oauth_service=google
https://www.vinabb.vn/ucp.php?mode=login&login=external&oauth_service=google
https://vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=google
https://www.vinabb.vn/ucp.php?i=ucp_auth_link&mode=auth_link&link=1&oauth_service=google

Bấm nút Create.

Hình ảnh
Client ID: Chính là khóa ứng dụng.
Client secret: Chính là khóa bảo mật.

Sao chép 2 khóa này để dán vào phần thiết lập OAuth của phpBB.

Hình ảnh
Cửa sổ đăng nhập Google từ diễn đàn phpBB của bạn.

Twitter
Trước tiên, bạn cần khai báo số điện thoại của mình với Twitter để tạo ứng dụng.

Hình ảnh
Truy cập vào trang https://twitter.com/settings/add_phone, nhập số điện thoại của bạn, bấm nút Continue và chờ Twitter gửi mã xác nhận qua tin nhắn SMS. Sau đó, nhập mã xác nhận vào để hoàn tất.

Trang đăng ký: https://apps.twitter.com/

Hình ảnh
Bấm nút Create New App.

Hình ảnh
Name: Tên diễn đàn của bạn.
Description: Giới thiệu sơ về diễn đàn.
Website: Liên kết đến trang chủ diễn đàn phpBB của bạn.
Callback URL: Nhập vào https://www.vinabb.vn/ucp.php?mode=login nếu tên miền dạng www hoặc https://vinabb.vn/ucp.php?mode=login nếu không có.
Developer Agreement: Đánh dấu chọn vào dòng cam kết.

Bấm nút Create your Twitter application.

Hình ảnh
Chuyển qua thẻ Keys and Access Tokens.

Consumer Key: Chính là khóa ứng dụng.
Consumer Secret: Chính là khóa bảo mật.

Sao chép 2 khóa này để dán vào phần thiết lập OAuth của phpBB.

Hình ảnh
Cửa sổ đăng nhập Twitter từ diễn đàn phpBB của bạn.

Thiết lập OAuth trong phpBB

Hình ảnh
Từ bảng quản trị, bạn hãy vào TỔNG QUÁT -> Thiết lập xác thực, chọn phương pháp xác thực là Oauth, sau đó lần lượt dán vào tương ứng từng cặp khóa của mỗi mạng xã hội mà bạn đã đăng ký ở trên.

Hình ảnh
Trang đăng nhập của phpBB giờ đã có thêm các nút bấm đăng nhập từ mạng xã hội.

Hình ảnh
Nếu đây là lần đầu thành viên liên kết tài khoản mạng xã hội, họ sẽ có 2 tùy chọn:
  • Nếu đã có tài khoản diễn đàn, chỉ cần dùng tài khoản này đăng nhập vào nữa là sẽ được liên kết tự động.
  • Nếu chưa có tài khoản diễn đàn, bấm tiếp nút Đăng ký và tiến hành tạo tài khoản. Sau khi hoàn tất, tài khoản vừa tạo sẽ được tự động liên kết với tài khoản mạng xã hội.
Từ lần truy cập sau, thành viên của bạn chỉ cần bấm nút đăng nhập qua mạng xã hội, họ sẽ được đăng nhập vào ngay mà không cần đến tài khoản diễn đàn nữa.

Hình ảnh
Thành viên có thể quản lý các tài khoản mạng xã hội đã liên kết của mình từ bảng thiết lập cá nhân của họ.

Đăng nhập từ các mạng xã hội khác
Mặc định, phpBB chỉ hỗ trợ 3 mạng xã hội phổ biến là Facebook, Google+ và Twitter. Nếu bạn muốn tích hợp thêm nhiều mạng xã hội khác, sao không dùng thử gói mở rộng OneAll Social Login tại đây.

Sau khi cài đặt gói mở rộng này, bạn cần đăng ký một tài khoản OneAll để sử dụng dịch vụ.
Trang đăng ký: https://app.oneall.com/

Hình ảnh
Sau khi đăng ký tài khoản xong, tại bảng điều khiển OneAll của mình, bạn hãy bấm vào nút Add a new Site to get started.

Hình ảnh
Where would you like to use OneAll?: Chọn Website.
Please tell us the URL of your website: Liên kết đến trang chủ diễn đàn phpBB của bạn.

Bấm nút Continue.

Hình ảnh
Site Name: Tên diễn đàn của bạn.
Desired OneAll Customer Subdomain: Chọn tên miền con để diễn đàn của bạn kết nối đến OneAll.
Where will you use our services? Nhập vào tên miền diễn đàn phpBB của bạn.

Bấm nút Continue.

Hình ảnh
How are you integrating our services?: Chọn I want to integrate OneAll from scratch using PHP or another language.
Subdomain: Tên miền con mà OneAll cấp cho bạn.
Public Key: Khóa ứng dụng.
Private Key: Khóa bảo mật.

Tên miền con và 2 khóa này sẽ cần để khai báo trong phần thiết lập của gói mở rộng này.

Bấm nút Setup Social Networks.

Hình ảnh
Bấm vào mạng xã hội bạn muốn tích hợp đăng nhập và làm theo hướng dẫn để đăng ký ứng dụng.

Hình ảnh
Vào phần thiết lập của gói mở rộng OneAll trong phpBB, nhập vào tên miền con và 2 khóa mà ta đã có ở bước trên. Bạn có thể bấm nút Verify API Settings để kiểm tra xem khóa API đã hoạt động chính xác hay chưa.

Hình ảnh
Ở cuối trang thiết lập, đánh dấu chọn mạng xã hội mà bạn đã chọn tích hợp và đăng ký ứng dụng theo hướng dẫn trên trang OneAll.com. Lưu lại các thiết lập và bạn sẽ có các nút đăng nhập mạng xã hội mới tại trang chủ, trang đăng nhập, trang đăng ký hay bất kỳ trang nào mà bạn muốn.

VinaBB • The Holy Land of phpBB

Quan điểm

Không đề cập chính trị, tôn giáo, nội dung đồi trụy.
Giữ gìn sự trong sáng của Tiếng Việt.
Không chia sẻ phần mềm vi phạm bản quyền.
Không rao vặt và không nhận đặt quảng cáo.
Dù trong túi hết tiền thì diễn đàn phpBB của anh cũng phải ngay ngắn.

Chuyện tình phpBB

17/07/2004: Yêu phpBB từ phiên bản 2.0.10.
22/10/2006: Cất tiếng cười chào đời.
11/06/2007: Chính thức định cư trên Olympus, Sao Hỏa.
11/06/2009: Mất liên lạc với Trái Đất. [ Phiên bản 2007 ]
28/07/2016: Trôi dạt đến mặt trăng Rhea, Sao Thổ.
12/12/2016: Cuộc hành trình mới lại bắt đầu…

Code in Viet Nam

Cống hiến hết mình vì Tổ Quốc Việt Nam Xã Hội Chủ Nghĩa

Quản trị viên

nedka

VinaBB
VinaBB

NEDKA Solutions

Đơn vị chủ quản

Chúng tôi chịu trách nhiệm toàn bộ nội dung có trên VinaBB trước pháp luật.
Sử dụng phần mềm phpBB
cron