diff options
| author | George Hazan <george.hazan@gmail.com> | 2025-03-31 12:28:23 +0300 |
|---|---|---|
| committer | George Hazan <george.hazan@gmail.com> | 2025-03-31 12:28:23 +0300 |
| commit | 4747d2ed93f4f916c72d29a8dcd35425fcfea880 (patch) | |
| tree | 3f470a499870eca74df4378bf013f9e2d3ca3ca5 /protocols/Teams/src/teams_login.cpp | |
| parent | 68ed297ee889cd21dbba8914f79dbef1a1e822e6 (diff) | |
icons for Teams
Diffstat (limited to 'protocols/Teams/src/teams_login.cpp')
| -rw-r--r-- | protocols/Teams/src/teams_login.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/protocols/Teams/src/teams_login.cpp b/protocols/Teams/src/teams_login.cpp index 72324355ac..515d84fa98 100644 --- a/protocols/Teams/src/teams_login.cpp +++ b/protocols/Teams/src/teams_login.cpp @@ -220,25 +220,22 @@ void CTeamsProto::OauthRefreshServices() void CTeamsProto::Login() { - CMStringA szLogin(getMStringA("Login")), szPassword(getMStringA("Password")); - if (szLogin.IsEmpty() || szPassword.IsEmpty()) { - LoginError(); - return; - } - - // login + // set plugin status to connect int oldStatus = m_iStatus; m_iStatus = ID_STATUS_CONNECTING; ProtoBroadcastAck(0, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)oldStatus, m_iStatus); + // launch http queue StartQueue(); + // if refresh token doesn't exist, perform a device code authentication m_szAccessToken = getMStringA("RefreshToken"); if (m_szAccessToken.IsEmpty()) { auto *pReq = new AsyncHttpRequest(REQUEST_POST, HOST_LOGIN, "/common/oauth2/devicecode", &CTeamsProto::OnReceiveDeviceToken); pReq << CHAR_PARAM("client_id", TEAMS_CLIENT_ID) << CHAR_PARAM("resource", TEAMS_OAUTH_RESOURCE); PushRequest(pReq); } + // or use a refresh token otherwise else { RefreshToken(TEAMS_OAUTH_SCOPE SCOPE_SUFFIX, &CTeamsProto::OnRefreshAccessToken); OauthRefreshServices(); |
