/// <summary> /// Converts OAuth2 result to Teams token result. /// </summary> /// <param name="source">Source result.</param> /// <param name="refreshedAt"><see cref="DateTime"/> when the token refreshed.</param> /// <returns><see cref="TeamsResult{TTeamsObject}"/> to get result.</returns> private static TeamsResult <TokenInfo> convert(TeamsResult <Oauth2TokenInternalInfo> source, DateTime refreshedAt) { var result = new TeamsResult <TokenInfo>(); source.CopyInfoTo(result); var tokenInfo = new TokenInfo(); var data = source.Data; if (result.IsSuccessStatus) { tokenInfo.RefreshedAt = refreshedAt; tokenInfo.AccessToken = data.AccessToken; if (data.ExpiresIn.HasValue) { tokenInfo.AccessTokenExpiresIn = TimeSpan.FromSeconds(data.ExpiresIn.Value); tokenInfo.AccessTokenExpiresAt = refreshedAt + tokenInfo.AccessTokenExpiresIn; } tokenInfo.RefreshToken = data.RefreshToken; if (data.RefreshTokenExpiresIn.HasValue) { tokenInfo.RefreshTokenExpiresIn = TimeSpan.FromSeconds(data.RefreshTokenExpiresIn.Value); tokenInfo.RefreshTokenExpiresAt = refreshedAt + tokenInfo.RefreshTokenExpiresIn; } } if (data.HasExtensionData) { tokenInfo.JsonExtensionData = data.JsonExtensionData; } tokenInfo.HasValues = data.HasValues; result.Data = tokenInfo; return(result); }
/// <summary> /// Converts Guest Issuer token result to Teams token result. /// </summary> /// <param name="source">Source result.</param> /// <param name="refreshedAt"><see cref="DateTime"/> when the token refreshed.</param> /// <param name="guestUserId">Guest user id.</param> /// <param name="displayName">Guest user display name.</param> /// <returns><see cref="TeamsResult{TTeamsObject}"/> to get result.</returns> private static TeamsResult <GuestUserInfo> convert(TeamsResult <GuestTokenInternalInfo> source, DateTime refreshedAt, string guestUserId, string displayName) { var result = new TeamsResult <GuestUserInfo>(); source.CopyInfoTo(result); var guestUserInfo = new GuestUserInfo(); var data = source.Data; if (result.IsSuccessStatus) { guestUserInfo.UserId = guestUserId; guestUserInfo.DisplayName = displayName; guestUserInfo.RefreshedAt = refreshedAt; guestUserInfo.AccessToken = data.Token; if (data.ExpiresIn.HasValue) { guestUserInfo.AccessTokenExpiresIn = TimeSpan.FromSeconds(data.ExpiresIn.Value); guestUserInfo.AccessTokenExpiresAt = refreshedAt + guestUserInfo.AccessTokenExpiresIn; } } if (data.HasExtensionData) { guestUserInfo.JsonExtensionData = data.JsonExtensionData; } guestUserInfo.HasValues = data.HasValues; result.Data = guestUserInfo; return(result); }