2015-05-13 15 views
10

Tôi đã thiết lập Google OAuth tôiGoogle OAuth trên MVC5 ExternalLoginCallback lỗi? = Access_denied

enter image description here

Và tôi đã thêm mã vào Startup.Auth.cs

app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() 
    { 
     // LRC 
     ClientId = "xxxxxxxxx", 
     ClientSecret = "xxxxx" 
     //CallbackPath = new PathString("/signin-google") 
    }); 

Nhưng sau khi tôi đã chọn một tài khoản google để đăng nhập, nó đã chuyển hướng tôi đến trang đăng nhập một lần nữa,

Tôi đã kiểm tra mạng qua Chrome và nhận thấy rằng quyền truy cập đã bị từ chối.

http://www.liferunningclub.com.au/Account/ExternalLoginCallback?error=access_denied

Tôi không thể hình dung nó ra.

Vui lòng trợ giúp. Cảm ơn bạn.


Cập nhật Bây giờ tôi đã làm cái gì khác: 1. Tôi thêm một chú thích ([RequireHttps]) trên bộ điều khiển tài khoản 2. tôi kích hoạt SSL cho dự án của tôi. 2. Tôi đã cập nhật url và url trực tiếp trong Google Console thành https

Đã cố gắng đăng nhập bằng Google, sau khi tôi đã chọn tài khoản Google của mình, nó đã trả về cùng access_denied.

Sẽ tốt hơn nếu phản hồi từ Google có thể cung cấp thông tin chi tiết hơn.

Trả lời

23

Tôi đã gặp sự cố tương tự khi sử dụng mẫu ASP.Net MVC mới nhất với "Tài khoản cá nhân" được chọn.

Giải pháp là bật API Google+ cho dự án của tôi trong Bảng điều khiển dành cho nhà phát triển của Google.

Tôi đã tìm thấy câu trả lời của mình here (cuộn xuống "Thay đổi đối với Google OAuth 2.0 ...").

+0

Cảm ơn M, đúng vậy. Trong trường hợp của tôi, tôi cũng thấy rằng tôi cần nhiều thông tin hơn tôi có thể. Vì vậy, sau khi bật API Google+ VÀ đã nhận xét một số dòng mã để giảm thông tin bắt buộc, chương trình bắt đầu hoạt động. – Franva

+0

cũng bạn phải bật tính năng ssl trên dự án và sử dụng https cho trang web của bạn nếu không bạn sẽ thấy các vấn đề access_denied –

1

Tôi cũng gặp sự cố này. Sau khi tôi bật Google+ API, sự cố vẫn chưa được giải quyết. Hóa ra tôi chưa đặt 'Nguồn gốc JavaScript được ủy quyền' trong bảng điều khiển API goggle của tôi. Vì vậy, tôi đặt authorized javascript origins và sự cố được giải quyết.

+0

cảm ơn bạn đã thêm ảnh chụp màn hình để giải thích, nó rất hữu ích. – Franva

+0

Bạn được chào đón, vui vì tôi có thể giúp đỡ. :) –

1

Lỗi tương tự đã xảy ra với tôi đối với nhà cung cấp Facebook.

Hóa ra giải pháp đơn giản như updating the nuget package to 3.1.

Nó chỉ ra rằng Facebook đã thực hiện "nâng cấp lực" của biểu đồ API từ phiên bản 2.2 đến 2.3 vào ngày 27 tháng 3 năm 2017

Đối với hồ sơ Tôi đang sử dụng như sau:

Trong Facebook Tôi đã cài đặt sau đây cấu hình cho một bài kiểm tra app:

enter image description here

enter image description here

Ngoài ra nếu bạn đang sử dụng mẫu mẫu, thông số error được trả về không bị tiêu thụ có thể gây hiểu nhầm. Bạn nên thêm string error vào ExternalLoginCallback

[AllowAnonymous] 
    public async Task<ActionResult> ExternalLoginCallback(string returnUrl, string error) 
    { 
     if (error != null) 
     { 
      return View("Error"); 
     } 
Các vấn đề liên quan