Mật khẩu ứng dụng

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ụ webinstalled 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.