Khi sử dụng giao thức OAuth, bạn cần một chuỗi bí mật thu được từ dịch vụ bạn muốn ủy quyền. Nếu bạn đang làm điều này trong một ứng dụng web, bạn chỉ cần lưu trữ bí mật trong cơ sở dữ liệu của mình hoặc trên hệ thống tệp, nhưng cách tốt nhất để xử lý nó trong ứng dụng di động (hoặc ứng dụng máy tính để bàn cho vấn đề đó) là gì?
Lưu trữ chuỗi trong ứng dụng rõ ràng là không tốt, vì ai đó có thể dễ dàng tìm thấy nó và lạm dụng nó.
Một cách tiếp cận khác là lưu trữ nó trên máy chủ của bạn và để ứng dụng tải nó trên mỗi lần chạy, không bao giờ lưu trữ nó trên điện thoại. Điều này gần như là xấu, bởi vì bạn phải bao gồm URL trong ứng dụng.
Giải pháp khả thi duy nhất tôi có thể đưa ra là trước tiên hãy lấy Mã thông báo truy cập như bình thường (tốt nhất là sử dụng chế độ xem web bên trong ứng dụng), sau đó định tuyến tất cả thông tin liên lạc qua máy chủ của chúng tôi, sẽ nối thêm bí mật vào dữ liệu yêu cầu và liên lạc với nhà cung cấp. Sau đó, một lần nữa, tôi là một người không bảo mật, vì vậy tôi thực sự muốn nghe một số ý kiến của người dân về vấn đề này. Đối với tôi, dường như hầu hết các ứng dụng sẽ không đảm bảo tính bảo mật (ví dụ: Facebook Connect dường như cho rằng bạn đặt bí mật vào một chuỗi ngay trong ứng dụng của mình).
Một điều khác: Tôi không tin rằng bí mật có liên quan đến việc yêu cầu Mã thông báo truy cập ban đầu, do đó có thể được thực hiện mà không liên quan đến máy chủ của chúng tôi. Tôi có đúng không?