Mật khẩu ứng dụng

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Thư viện ứng dụng .NET cho API của Google sử dụng tệp client_secrets.json để lưu trữ các tham số client_id, client_secret và OAuth 2.0 khác.

Tệp 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 thông số OAuth 2.0 khác. Dưới đây là tệp client_secrets.json mẫu của 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 này 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ài đặt.

Đối tượng phụ webinstalled có các thành phầ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ả thành viên khác của tệp này không bắt buộc và thư viện ứng dụng .NET không sử dụng chúng.

Động lực

Thông thường, các nhà cung cấp điểm cuối OAuth 2.0 dự kiến sẽ 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ừ một trang đăng ký vào mã đang hoạt động. Phương thức này dễ gặp lỗi và cung cấp thông tin chưa đầy đủ về thông tin cần thiết để OAuth 2.0 hoạt động. (OAuth 2.0 yêu cầu phải 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 các tệp client_secrets.json có thể tải xuống 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 xảy ra lỗi hơn.