snappymail/snappymail/v/0.0.0/app/libraries/snappymail/sasl/xoauth2.php
2023-12-04 00:25:26 +01:00

24 lines
496 B
PHP

<?php
/**
* https://datatracker.ietf.org/doc/html/rfc7628
* https://developers.google.com/gmail/imap/xoauth2-protocol
*/
namespace SnappyMail\SASL;
class XOAuth2 extends \SnappyMail\SASL
{
public function authenticate(string $username,
#[\SensitiveParameter]
string $passphrase,
?string $authzid = null
) : string
{
return $this->encode("user={$username}\x01auth=Bearer {$passphrase}\x01\x01");
}
public static function isSupported(string $param) : bool
{
return true;
}
}