Trang admin quản lý comments của blog hiện đang được bảo vệ bằng Cloudflare Zero Trust để chống truy cập trái phép. Để xác thực tài khoản, mìn sử dụng cách xác thực bằng one-time PIN gửi qua email, khá mất thời gian.
Mới đây, mình đã thiết lập thêm tính năng đăng nhập Zero Trust bằng tài khoản Github, giúp việc xác thực nhanh gọn lẹ hơn chỉ với vài cái click chuột.
Bài viết này sẽ ghi lại cách tích hợp GitHub với Cloudflare Zero Trust, để có thể tham khảo lại sau này khi cần.
Yêu cầu
- Tài khoản Cloudflare với Zero Trust đã được kích hoạt (xem hướng dẫn)
- Tài khoản GitHub
Các bước thực hiện
1. Tạo OAuth Application trên GitHub
Đầu tiên, đăng nhập vào GitHub và truy cập vào Settings > Developer Settings
Chọn OAuth Apps ở menu bên trái, sau đó click New OAuth App.
Điền thông tin cho ứng dụng:
- Application name: Tên tùy ý, ví dụ
Cloudflare Access - Homepage URL:
https://<your-team-name>.cloudflareaccess.com- Thay
<your-team-name>bằng tên team của bạn trên Cloudflare
- Thay
- Authorization callback URL:
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback
Bạn có thể tìm thấy thông Team Domain khi truy cập vào phần Settings Của Zero Trust
Sau khi tạo xong, bạn sẽ nhận được 2 thông số sau
- Client ID
- Client Secret (cần click vào Generate để tạo mới)
Lưu ý: Hãy lưu lại hai thông số này, sẽ cần dùng để khai báo ở bước sau
2. Thêm GitHub làm Identity Provider trên Cloudflare
Truy cập Cloudflare Dashboard > Zero Trust > Integrations > Identity providers.
Click Add an identity provide và chọn GitHub từ danh sách các identity providers.
Điền thông tin:
- Client ID: Lấy từ OAuth App đã tạo ở bước 1
- Client Secret: Lấy từ OAuth App đã tạo ở bước 1
- Name: Tên hiển thị, ví dụ
GitHub Authentication
Click Save để hoàn tất.
Tiếp theo bấm vào link finish setup để hoàn thành việc kết nối.
Sau khi kết nối thành công, bạn sẽ thấy thông báo xác nhận.
3. Kiểm tra kết nối
Sau khi thiết lập xong, bạn có thể kiểm tra kết nối bằng cách:
- Vào mục Identity providers trên Cloudflare Dashboard
- Tìm đến GitHub integration vừa tạo
- Click nút Test
Nếu thấy hiện ra thông báo Your connection works! nghĩa là Github đã được tích hợp thành công.
Thiết lập đăng nhập bằng Github cho ứng dụng
Truy cập vào mục Access Control > Applications > Chọn ứng dụng > Configure
Di chuyển đến mục Authentication và chọn thêm Github trong mục Choose available identity providers for this application, hoặc cũng có thể chọn Accept all available identity providers để kích hoạt tất cả các dịch vvụ đăng nhập đã thiết lập trên Cloudflare Zero Trust
Sau đó truy cập vào ứng dụng, phần xác thực giờ đã xuất hiện thêm mục Sign with Github
Kết luận
Việc tích hợp GitHub với Cloudflare Zero Trust giúp việc truy cập vào ứng được bảo vệ bởi Cloudflare Access nhanh gọn hơn hẳn so với việc sử dụng One-time pin.
Nếu bạn gặp vấn đề trong quá trình thiết lập, hãy kiểm tra lại các lỗi thường gặp sau
- URL callback đã chính xác chưa
- Client ID và Secret có đúng không
- Team name trên Cloudflare có chính xác không
Chúc bạn thiết lập thành công!
