2012-08-29 28 views
8

Tôi là người mới bắt đầu bằng python và tôi muốn tạo một ứng dụng khách tác vụ cơ bản trên google. Nó sẽ là một ứng dụng bản địa. Điểm tôi không thể nhận được là làm thế nào để giữ bí mật của khách hàng thực sự bí mật, vì nó được bao gồm trong mã chương trình.Ứng dụng Python đã cài đặt và ID khách hàng của Google

Tôi đã tìm kiếm và tìm thấy một bài đăng, trích dẫn bài đăng trên diễn đàn của google và về cơ bản gợi ý đưa ra điều gì đó.

Tôi đã dành hàng giờ cố gắng để có được điều, nhưng, tôi không có câu trả lời vào lúc này. Vì vậy, tôi có hai câu hỏi để hỏi:

  1. Hậu quả của việc cho khách hàng bí mật là gì?
  2. Nếu để mọi người thấy bí mật là nguy hiểm, có cách nào để giữ bí mật hay không, hoặc có cách đăng nhập cổ điển để hỗ trợ mật khẩu dành riêng cho ứng dụng để đăng nhập vào tài khoản google không?

Trả lời

4

Tôi giả sử bạn đang nói về OAuth.

Có, bạn đã nhúng bí mật - nhưng không, nó không thực sự là bí mật; xem một bài đăng khác tại đây: OAuth - embedding client secret in your application?.

Tài liệu của Google thực sự nói cùng một điều; từ: https://developers.google.com/accounts/docs/OAuth2#installed

Client_id và client_secret thu được khi đăng ký được nhúng vào mã nguồn của ứng dụng của bạn. Trong bối cảnh này, client_secret rõ ràng không được coi là bí mật.

Và không có điểm nào trong việc cố gắng bảo vệ - nó phải đi qua dây để truy cập Google và bất kỳ ai có Fiddler, v.v. có thể xem ở dạng văn bản thuần túy.

Để tác động: ý tưởng đằng sau bí mật của khách hàng, tôi tin rằng, là bảo vệ nhà cung cấp ứng dụng khách (đó là bạn). Về lý thuyết, nếu tôi biết khóa khách hàng và bí mật của bạn, tôi có thể tạo trang web/ứng dụng độc hại cho phép người dùng đăng nhập hợp pháp nhưng sau đó xóa tất cả nhiệm vụ của họ và có vẻ như bạn chịu trách nhiệm. Điều đó có thể có ý nghĩa để bảo vệ chống lại với các dịch vụ web, nhưng đối với một khách hàng được cài đặt, người dùng có lẽ đã tải xuống từ một nơi nào đó (cửa hàng ứng dụng, trang web, v.v.) mà hy vọng chắc chắn rằng nó là hợp pháp.

+0

Cảm ơn rất nhiều câu trả lời của bạn, tôi thực sự cần một cái gì đó rõ ràng, như câu trả lời của bạn. Vì vậy, tôi có thể làm một mẫu đăng nhập đơn giản để cấp quyền truy cập không? Hoặc tôi có nên vào thế giới Oauth2, trông thật, thẳng thắn, khó khăn? ... –

+1

Làm chắc chắn OAuth2. Nó không phải là khó khăn như nó trông, và nó thực sự * ít * làm việc hơn cung cấp một hình thức đăng nhập (trong OAuth, Google cung cấp các hình thức). Bạn không muốn người dùng gõ mật khẩu thực của họ vào ứng dụng của bạn, vì lợi ích của họ và của bạn (bạn sẽ không bao giờ sử dụng một cái gì đó đã làm điều đó, phải không ?!) Chúc may mắn! – ckhan

+0

Cảm ơn câu trả lời của bạn @ckhan, bạn đã rất hữu ích. –

Các vấn đề liên quan