Documentation

MicrosoftAuthService

Service class for Microsoft OAuth authentication integration.

Handles Microsoft OAuth flow, user authentication, and account linking.

Tags
since
3.0.0

Table of Contents

Constants

SESSION_LINK_KEY  = 'LWT-Microsoft-Link'
Session key for link mode flag.
SESSION_PENDING_LINK_KEY  = 'microsoft_link_pending'
Session key for pending link data.
SESSION_STATE_KEY  = 'LWT-Microsoft-State'
Session key for OAuth state parameter.

Properties

$provider  : Azure|null
$userFacade  : UserFacade

Methods

__construct()  : mixed
Create a new MicrosoftAuthService.
clearPendingLinkData()  : void
Clear pending link data from session.
getAuthorizationUrl()  : string
Get the authorization URL for Microsoft OAuth.
getPendingLinkData()  : array{microsoft_id: string, email: string}|null
Get pending link data from session.
getUserFacade()  : UserFacade
Get the user facade.
handleCallback()  : User|null}
Handle the OAuth callback.
isConfigured()  : bool
Check if Microsoft OAuth is configured.
linkMicrosoftToUser()  : void
Link Microsoft account after password verification.
generateUsername()  : string
Generate a username from email or name.
getDefaultRedirectUri()  : string
Get the default redirect URI based on current request.
getProvider()  : Azure
Get the Microsoft OAuth provider.
handleLinkAccount()  : User|null}
Handle linking Microsoft account to existing LWT user.
handleLoginOrRegister()  : User|null}
Handle Microsoft login or new user registration.
startSession()  : void
Start a PHP session.

Constants

Session key for link mode flag.

private mixed SESSION_LINK_KEY = 'LWT-Microsoft-Link'

Session key for pending link data.

private mixed SESSION_PENDING_LINK_KEY = 'microsoft_link_pending'

SESSION_STATE_KEY

Session key for OAuth state parameter.

private mixed SESSION_STATE_KEY = 'LWT-Microsoft-State'

Properties

Methods

clearPendingLinkData()

Clear pending link data from session.

public clearPendingLinkData() : void

getAuthorizationUrl()

Get the authorization URL for Microsoft OAuth.

public getAuthorizationUrl([bool $linkMode = false ]) : string
Parameters
$linkMode : bool = false

If true, link to existing account instead of login

Return values
string

The authorization URL

getPendingLinkData()

Get pending link data from session.

public getPendingLinkData() : array{microsoft_id: string, email: string}|null
Return values
array{microsoft_id: string, email: string}|null

handleCallback()

Handle the OAuth callback.

public handleCallback(string $code, string $state) : User|null}
Parameters
$code : string

Authorization code from Microsoft

$state : string

State parameter for CSRF validation

Return values
User|null}

isConfigured()

Check if Microsoft OAuth is configured.

public isConfigured() : bool
Return values
bool

True if Microsoft OAuth credentials are set

linkMicrosoftToUser()

Link Microsoft account after password verification.

public linkMicrosoftToUser(string $microsoftId, User $user) : void
Parameters
$microsoftId : string

Microsoft user ID

$user : User

User to link

generateUsername()

Generate a username from email or name.

private generateUsername(string $email, string $name) : string
Parameters
$email : string

Email address

$name : string

Name from Microsoft

Return values
string

Generated username

getDefaultRedirectUri()

Get the default redirect URI based on current request.

private getDefaultRedirectUri() : string
Return values
string

handleLinkAccount()

Handle linking Microsoft account to existing LWT user.

private handleLinkAccount(string $microsoftId) : User|null}
Parameters
$microsoftId : string

Microsoft user ID

Return values
User|null}

handleLoginOrRegister()

Handle Microsoft login or new user registration.

private handleLoginOrRegister(string $microsoftId, string $email, string $name) : User|null}
Parameters
$microsoftId : string

Microsoft user ID

$email : string

Email from Microsoft

$name : string

Name from Microsoft

Return values
User|null}

        
On this page

Search results