Finish authentication flow

This commit is contained in:
Christian Pauly 2020-01-14 15:53:35 +01:00
commit 4d027ff7f9
6 changed files with 86 additions and 17 deletions

View file

@ -0,0 +1,43 @@
import 'package:fluffychat/components/matrix.dart';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class AuthWebView extends StatelessWidget {
final String authType;
final String session;
final Function onAuthDone;
const AuthWebView(this.authType, this.session, this.onAuthDone);
@override
Widget build(BuildContext context) {
final String url = Matrix.of(context).client.homeserver +
"/_matrix/client/r0/auth/$authType/fallback/web?session=$session";
print(url);
return Scaffold(
appBar: AppBar(
title: Text("Authentication"),
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () {
Navigator.of(context).pop();
Navigator.of(context).pop();
},
),
actions: <Widget>[
IconButton(
icon: Icon(Icons.check),
onPressed: () {
Navigator.of(context).pop();
onAuthDone();
},
)
],
),
body: WebView(
initialUrl: url,
javascriptMode: JavascriptMode.unrestricted,
),
);
}
}