mirror of
https://github.com/bitwarden/mobile
synced 2025-12-05 23:53:33 +00:00
* [SG-174] Add new login request services to Api * [SG-174] Fix typo * [SG-174] Enable login with device button. * [SG-174] Add new login request page and viewmodel * [SG-174] Add new text resources * [SG-174] Add new RSA Decrypt method with string param * [SG-174] Change create login request method * [SG-174] Add new method to auth service to login passwordless * [SG-174] Refactor login helper method to work with passwordless * [SG-174] Fix service registration * [SG-174] Update token request to support passwordless * [SG-174] Update Api service with passwordless methods * [SG-174] Fix App csproj references * [SG-174] Remove unnecessary argument * [SG-174] dotnet format * [SG-174] Fixed iOS Extensions * [SG-174] Change Command to ICommand * [SG-174] Change Gesture Recognizer to Command * [SG-174] Fix close action * [SG-174] Code format * [SG-174] Fix android frame shadow bug * [SG-174] PR fixes
66 lines
2.2 KiB
C#
66 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Bit.App.Models;
|
|
using Bit.App.Utilities;
|
|
using Xamarin.Forms;
|
|
|
|
namespace Bit.App.Pages
|
|
{
|
|
public partial class LoginPasswordlessRequestPage : BaseContentPage
|
|
{
|
|
private LoginPasswordlessRequestViewModel _vm;
|
|
private readonly AppOptions _appOptions;
|
|
|
|
public LoginPasswordlessRequestPage(string email, AppOptions appOptions = null)
|
|
{
|
|
InitializeComponent();
|
|
_appOptions = appOptions;
|
|
_vm = BindingContext as LoginPasswordlessRequestViewModel;
|
|
_vm.Page = this;
|
|
_vm.Email = email;
|
|
_vm.StartTwoFactorAction = () => Device.BeginInvokeOnMainThread(async () => await StartTwoFactorAsync());
|
|
_vm.LogInSuccessAction = () => Device.BeginInvokeOnMainThread(async () => await LogInSuccessAsync());
|
|
_vm.UpdateTempPasswordAction = () => Device.BeginInvokeOnMainThread(async () => await UpdateTempPasswordAsync());
|
|
_vm.CloseAction = () => { Navigation.PopModalAsync(); };
|
|
|
|
_vm.CreatePasswordlessLoginCommand.Execute(null);
|
|
}
|
|
|
|
protected override void OnAppearing()
|
|
{
|
|
base.OnAppearing();
|
|
_vm.StartCheckLoginRequestStatus();
|
|
}
|
|
|
|
protected override void OnDisappearing()
|
|
{
|
|
base.OnDisappearing();
|
|
_vm.StopCheckLoginRequestStatus();
|
|
}
|
|
|
|
private async Task StartTwoFactorAsync()
|
|
{
|
|
var page = new TwoFactorPage(false, _appOptions);
|
|
await Navigation.PushModalAsync(new NavigationPage(page));
|
|
}
|
|
|
|
private async Task LogInSuccessAsync()
|
|
{
|
|
if (AppHelpers.SetAlternateMainPage(_appOptions))
|
|
{
|
|
return;
|
|
}
|
|
var previousPage = await AppHelpers.ClearPreviousPage();
|
|
Application.Current.MainPage = new TabsPage(_appOptions, previousPage);
|
|
}
|
|
|
|
private async Task UpdateTempPasswordAsync()
|
|
{
|
|
var page = new UpdateTempPasswordPage();
|
|
await Navigation.PushModalAsync(new NavigationPage(page));
|
|
}
|
|
}
|
|
}
|
|
|