provider/
provider.rs

1use bevy::prelude::*;
2use bevy_gotrue::{just_logged_in, AuthPlugin, Client};
3use bevy_http_client::HttpClientPlugin;
4
5fn main() {
6    let mut app = App::new();
7
8    app.add_plugins(DefaultPlugins)
9        .add_plugins(HttpClientPlugin)
10        .add_plugins(AuthPlugin {
11            endpoint: "http://localhost:54321/auth/v1".into(),
12        })
13        .add_systems(Startup, do_login)
14        .add_systems(Update, did_login.run_if(just_logged_in))
15        .run();
16}
17
18fn do_login(client: Res<Client>) {
19    let g = client.get_url_for_provider("google");
20    println!("\n[LOGIN]\nGo to this URL to sign in: \n{}\n", g);
21}
22
23fn did_login(client: Res<Client>) {
24    println!("Login complete. {:?}", client.access_token);
25}