Finish authentication flow
parent
b6ff2483f0
commit
4d027ff7f9
@ -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,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue