在 pub.dev 上有一个名为 google_sign_in 的包,但是它提供的设置应用程序链接指向 https://firebase.google.com/?platform=android ...
谢谢!
在 pub.dev 上有一个名为 google_sign_in 的包,但是它提供的设置应用程序链接指向 https://firebase.google.com/?platform=android ...
谢谢!
可以!
在云控制台中创建项目。
创建OAuth 2.0客户端ID(通过包名限制)
下载JSON文件并将其放置在android->app文件夹中,就这样。
按照google_sign_in包中的步骤进行操作,而不涉及Firebase。
GoogleSignIn googleSignIn = GoogleSignIn(
clientId:"xxxx.apps.googleusercontent.com");
clientId是可选的,但在Flutter Web中是必需的。
是的,试试使用 visa - https://github.com/e-oj/visa
以下是一个使用 Facebook 认证的示例(也支持 Google、Twitch、Discord 和 Github):
import 'package:visa/auth-data.dart';
import 'package:visa/fb.dart';
class AuthPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
/// Simply Provide all the necessary credentials
body: FaceBookAuth().visa.authenticate(
clientID: '139732240983759',
redirectUri: 'https://www.e-oj.com/oauth',
scope: 'public_profile,email',
state: 'fbAuth',
onDone: done
)
);
}
}
和 "done" 回调函数:
done(AuthData authData){
print(authData);
/// You can pass the [AuthData] object to a
/// post-authentication screen. It contaions
/// all the user and OAuth data collected during
/// the authentication process. In this example,
/// our post-authentication screen is "complete-profile".
Navigator.pushReplacementNamed(
context, '/complete-profile', arguments: authData
);
}