package Authen::SASL::Perl::XOAUTH2; use strict; use warnings; use 5.020; use parent 'Authen::SASL::Perl'; sub _order { 10 } sub mechanism { 'XOAUTH2' } sub client_start { '' } sub client_step { my ($self, $string) = @_; my ($username, $token) = map { my $v = $self->_call($_); defined($v) ? $v : '' } qw(user pass); "user=${username}\cAauth=Bearer $token\cA\cA", } 1;