[英]google_sign_in Flutter plugin always returns null serverAccessCode
我有當前的身份驗證工作流程
我用 Android SDK 在原始 Java 中完成了這一切,但 Flutter 似乎要好得多。 但是現在在 android 上使用google_sign_in
插件時,我無法再檢索 serverAuthCore,這個插件只想一直返回 null。
我正在使用為 Android 指定的客戶端 ID,但是,我也測試了由 google 自動生成的 WebApplication,但這是同樣的問題(Null serverAutHCode)
這是我目前正在使用的代碼:
/// Provides the `GoogleSignIn` class
import 'package:google_sign_in/google_sign_in.dart';
class GoogleLoginPage extends StatefulWidget {
final String name = "Logging in with google.";
late GoogleSignIn _googleSignIn;
GoogleLoginPage() : super() {
_googleSignIn = GoogleSignIn(
scopes: ['https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'],
serverClientId: "XX-XXX.apps.googleusercontent.com"
);
}
Future<void> fetchAuthToken() async {
try {
var response = await _googleSignIn.signIn();
log(response?.serverAuthCode ?? "No server auth code");
_googleSignIn.signOut();
} catch (error) {
print("ERR");
print(error);
}
}
@override
State<GoogleLoginPage> createState() => GoogleLoginState();
}
這段代碼的輸出是: [log] No server auth code
問題:
難道我做錯了什么? 如前所述,這在我使用 google play services SDK 的 java 項目上 100% 有效,所以我知道這與我的 google 控制台配置無關。
好的,所以我發現了問題:
似乎默認情況下,用於顫振的谷歌登錄插件來自舊版本(如果我沒記錯的話它是 20.0.5)
我只是將版本更改為最新版本:
'com.google.android.gms:play-services-auth:20.2.0'
您可以通過編輯項目的 build.gradle 來做到這一點(在 IntelliJ 中,您打開 build.gradle 並單擊右上角的“在 android studio 中打開以進行編輯”,從那里您需要找到 google_sign_in 的 gradle 文件,然后更改在那里導入,記得在關閉之前點擊android studio右上角的同步)
我開始正常接收我的 serverAuthCode,干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.