Khi yêu cầu thông tin xác thực OAuth, tôi có thể chỉ định access_type là Ngoại tuyến hoặc Trực tuyến.Khi nào là access_type = Trực tuyến thích hợp? : OAuth2 - Google API
Chọn loại truy cập trực tuyến buộc người dùng chấp thuận quyền truy cập vào ứng dụng của tôi mỗi khi họ đăng nhập. Tại sao vậy? Không phải người dùng đã chấp thuận ứng dụng của tôi chưa?
Update # 1:
Tôi có approval_prompt tôi thiết lập để 'tự động'.
Nếu tôi vừa đăng xuất khỏi Google mà không xóa bất kỳ cookie nào, nó sẽ không nhắc tôi lại. Nhưng việc xóa cookie sẽ mang lại màn hình tài trợ.
Cập nhật # 2:
Nó hoạt động tốt qua OAuth sân chơi. http://code.google.com/oauthplayground/
Sử dụng OAuth 2.0 cho máy chủ ứng dụng web https://developers.google.com/accounts/docs/OAuth2WebServer
Update # 3: mã có liên quan snippets phương pháp
Helper để tạo URL OAuth
def build_auth_uri
return @client.authorization.authorization_uri(
:access_type => :online,
:approval_prompt => :auto
).to_s
end
Gọi phương thức trợ giúp trong Chế độ xem
<a href="<%= build_auth_uri %>"> Connect Me! </a>
tạo OAuth URL trên trang web
https://accounts.google.com/o/oauth2/auth?access_type=online&approval_prompt=auto&redirect_uri=http://localhost:3000/gclient/gcallback&response_type=code
Tôi cũng đang đối mặt với vấn đề chính xác. Tìm URL yêu cầu của tôi bên dưới: 'https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com /auth/userinfo.profile&state=profile&redirect_uri=http: // localhost/oacallback & response_type = code & client_id = 123.apps.googleusercontent.com & approval_prompt = auto & access_type = online' –
@jayyov Hành vi này vẫn thất thường đối với tôi. Có vẻ như có một sự khác biệt giữa làm điều này trên localhost vs trang web lưu trữ quá. –
Đã bao giờ có một giải pháp cho điều này? Tôi thấy cùng một vấn đề. Tôi cũng nhận thấy rằng bất kể số lần tôi chấp thuận ứng dụng không xuất hiện trong trang Quản lý ứng dụng của tôi. – mwielbut