Thư viện ứng dụng API của Google dành cho .NET sử dụng
client_secrets.json
tệp để lưu trữ
client_id
, client_secret
và các tham số OAuth 2.0 khác.
Một client_secrets.json
là tệp có định dạng JSON
chứa mã ứng dụng khách, mật khẩu ứng dụng khách và các tham số OAuth 2.0 khác.
Dưới đây là tệp client_secrets.json
mẫu cho một ứng dụng web:
{ "web": { "client_id": "asdfjasdljfasdkjf", "client_secret": "1912308409123890", "redirect_uris": ["https://www.example.com/oauth2callback"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
Dưới đây là tệp client_secrets.json
mẫu cho một ứng dụng đã cài đặt:
{ "installed": { "client_id": "837647042410-75ifg...usercontent.com", "client_secret":"asdlkfjaskd", "redirect_uris": ["http://localhost"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
Định dạng xác định một trong hai loại mã ứng dụng khách:
web
: Ứng dụng web.installed
: Ứng dụng đã được cài đặt.
Các đối tượng phụ web
và installed
có
các thành viên bắt buộc sau:
-
client_id
(chuỗi): Mã ứng dụng khách. -
client_secret
(chuỗi): Mật khẩu ứng dụng khách.
Tất cả các thành phần khác của tệp này là không bắt buộc và thư viện ứng dụng .NET không sử dụng các mã này.
Động lực
Thông thường, nhà cung cấp điểm cuối OAuth 2.0 dự kiến sẽ có
những người sử dụng dịch vụ của họ để sao chép và dán mã ứng dụng khách
và mật khẩu ứng dụng khách từ trang đăng ký vào mã đang hoạt động.
Phương thức này dễ gặp lỗi và đưa ra hình ảnh không đầy đủ
thông tin cần thiết để OAuth 2.0 hoạt động.
(OAuth 2.0 cũng yêu cầu biết tất cả các điểm cuối,
và định cấu hình URI chuyển hướng.)
Nếu nhà cung cấp dịch vụ cung cấp client_secrets.json
có thể tải xuống
tệp và thư viện ứng dụng được chuẩn bị để sử dụng các tệp này,
thì việc triển khai OAuth 2.0 sẽ dễ dàng hơn và ít gặp lỗi hơn.