2017-06-03 25 views
7

Tôi đang xây dựng trình duyệt web gần đây tôi đã gặp lỗi khi cố gắng đăng nhập bằng tài khoản Google của mình trên trang web.Tôi làm cách nào để khắc phục chức năng bị hỏng do useragent không được phép?

Screenshot

Đây là kỳ lạ bởi vì tôi đã kiểm tra các đại lý người dùng của ứng dụng của tôi và Safari và họ đều giống hệt nhau.

Mọi đề xuất?

CẬP NHẬT

Các WKWebView được lồng 3 tầng sâu bên trong một cây UIViews tùy chỉnh.

Dưới đây là đoạn mã khởi tạo:

_webView = [[WKWebView alloc] init]; 
_webView.allowsBackForwardNavigationGestures = NO; 
_webView.allowsLinkPreview = NO; 
_webView.navigationDelegate = self; 
_webView.UIDelegate = self; 
_webView.frame = CGRectMake(0.0, 0.0, self.contentView.frame.size.width, self.contentView.frame.size.height); 
[self.contentView addSubview:_webView]; 
+0

bạn có thể vui lòng cho một số mã? –

+0

Tôi đã thêm mã khởi tạo. Tôi không biết thêm gì nữa. – Vulkan

Trả lời

4

Từ Google Modernizing OAuth interactions in Native Apps for Better Usability and Security bài viết:

On April 20, 2017, chúng tôi sẽ tự động chặn mọi yêu cầu OAuth sử dụng web quan điểm cho tất cả các khách hàng OAuth trên nền tảng nơi các lựa chọn thay thế khả thi tồn tại.

Vì vậy, Google hiện cho phép đăng nhập bằng tài khoản Google duy nhất trong các trình duyệt bình thường, nó hạn chế nó trong web xem vì lý do an ninh và đề xuất SDK Google cho iOSAndroid cho mục đích này.

Nhưng nếu bạn vẫn muốn sử dụng WKWebView bạn có thể làm một mẹo nhỏ, gợi ý trong this câu trả lời, thiết customUserAgent để nó có thể vượt qua xác nhận:

// Check for selector availability, as it is available only on iOS 9+ 
if ([_webView respondsToSelector:@selector(setCustomUserAgent:)]) { 
    _webView.customUserAgent = @"MyCustomUserAgent"; 
} 
+0

Cảm ơn bạn đã phản hồi phong phú. Tôi đã không làm việc tất cả thời gian này xin lỗi vì sự chậm trễ! Tôi đã thay đổi nó thành một giá trị tùy ý và t làm việc tốt. – Vulkan

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