2017-03-08 38 views
12

Tôi có ứng dụng Ionic2 mà tôi muốn thêm GooglePlus Authentication vào.Ứng dụng khách Google OAuth với Góc/Ionic: Làm thế nào để tìm thấy redirect_uri?

tôi nhận được lỗi sau:

enter image description here

Theo như tôi hiểu, đó là vì tôi đã không thiết lập một redirect_uri.

Câu hỏi

redirect_uri (Authorized redirect URIs) Tôi nên sử dụng cho một ứng dụng Ionic2? Tôi tìm thấy nó ở đâu?

enter image description here

Các công trình sau đây với Facebook đăng nhập.

enter image description here

CẬP NHẬT

Sau these hướng dẫn, tôi đã thay đổi REVERSED_CLIENT_ID sang định dạng sau:

"com.googleusercontent.apps.uniqueId" 

Vì vậy, tôi nghĩ rằng tôi đã đạt được tiến bộ.

bây giờ tôi nhận được lỗi sau đây trong iOS:

enter image description here

Từ đọc here, điều này có nghĩa rằng credentials không nên được tạo ra cho một Web Applicationhere. Nhưng nếu tôi tạo nó cho iOS, cách này sẽ hoạt động cho Android? Hoặc không Android vẫn chưa sử dụng các thông tin đăng nhập này?

Đối với Android, khi tôi thử đăng nhập, tôi chỉ nhận được ngoại lệ với thông báo lỗi undefined.

Vì vậy, tôi có hai câu hỏi xin vui lòng:

  1. Tôi có cần phải tạo iOSclient IDhere thay vì một Web application?

enter image description here

  1. Làm thế nào để cấu hình hoặc gỡ lỗi này cho Android?

CẬP NHẬT

Đối iOS tôi đã thêm một iOS Client Id và thay đổi ID KHÁCH HÀNG đảo ngược của tôi để phù hợp, và giống như với Android, nó nhắc tôi đăng nhập vào tài khoản Google của tôi. Vì vậy, trông giống như tiến bộ hơn nữa.

Tuy nhiên, khi tôi đăng nhập, giống như với Android bây giờ tôi nhận được ngoại lệ với thông báo là undefined. Trong Xcode console Tuy nhiên, tôi nhận được như sau:

com.google.HTTPStatus error 400.

Sau these, bây giờ tôi đã tạo ra thông tin cho cả iOSAndroid.

enter image description here

Tôi đã cấu hình AndroidiOS ID trong các ID mới.

Tôi nhận được ngoại lệ với thông báo là undefined trên cả hai Androidand iOS.

CẬP NHẬT

Got nó làm việc cho iOS. Tùy chọn webClientId khi bạn gọi login không được là id ứng dụng khách được đảo ngược mà là id ứng dụng khách.

 GooglePlus.login({ 
      'webClientId': 'xxxxx.apps.googleusercontent.com', 
      'offline': true 
     }).then(googleData => { 

Bây giờ, để tìm hiểu lý do tại sao Android không hoạt động.

Trong Android bây giờ tôi nhận được error = 12501 (đó là kết quả của một cái gì đó sai với keystore của tôi, tôi nghĩ).

CẬP NHẬT

tôi tạo keystore. Theo hướng dẫn của these, tôi sao chép SHA1 vào Signing-certificate fingerprint. Nhưng vẫn nhận được error = 12501.

enter image description here

+0

Josh Morony đã viết một bài ở đây về vấn đề này. Có lẽ nó có thể làm sáng tỏ cho bạn: https://www.joshmorony.com/implementing-google-plus-sign-in-with-oauth-2-0-in-ionic-2/ – JGFMK

Trả lời

0

Như bạn đã iOS làm việc, đây là giải pháp cho Android.

Build APK của ứng dụng của bạn và sau đó chạy Command-

keytool -list -printcert -jarfile app.apk 

Sản lượng này sẽ tiết lộ Signature, Certificate fingerprints (MD5, SHA1 and SHA256)Extensions của APK.

Sao chép SHA1 đến Signing-certificate fingerprint khi tạo ID khách hàng cho android

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