private bool HasActionOutcome(AuthOutcome outcome, ConcurrentDictionary <string, string> properties)
 {
     if (properties.TryGetValue(ActionPropertyNames.OutcomeConstStrKey, out string outcomeStr))
     {
         return(outcomeStr.Equals(MatsConverter.AsString(outcome)));
     }
     return(false);
 }
        public void EndAction(MatsAction action, AuthenticationResult authenticationResult)
        {
            // todo(mats): map contents of authentication result to appropriate telemetry values.
            AuthOutcome outcome          = AuthOutcome.Succeeded;
            ErrorSource errorSource      = ErrorSource.Service;
            string      error            = string.Empty;
            string      errorDescription = string.Empty;

            EndAction(action, outcome, errorSource, error, errorDescription);
        }
        public static string AsString(AuthOutcome outcome)
        {
            switch (outcome)
            {
            case AuthOutcome.Cancelled:
                return("canceled");

            case AuthOutcome.Failed:
                return("failed");

            case AuthOutcome.Incomplete:
                return("incomplete");

            case AuthOutcome.Succeeded:
                return("succeeded");

            default:
                return("unknown");
            }
        }
        public void EndAction(MatsAction action, Exception ex)
        {
            AuthOutcome outcome          = AuthOutcome.Failed;
            ErrorSource errorSource      = ErrorSource.AuthSdk;
            string      error            = ex.GetType().Name;
            string      errorDescription = ex.Message;

            switch (ex)
            {
            case MsalUiRequiredException uiEx:
                errorSource = ErrorSource.Service;
                error       = uiEx.ErrorCode;
                break;

            case MsalServiceException svcEx:
                errorSource = ErrorSource.Service;
                error       = svcEx.ErrorCode;
                break;

            case MsalClientException cliEx:
                errorSource = ErrorSource.Client;
                error       = cliEx.ErrorCode;
                break;

            case MsalException msalEx:
                errorSource = ErrorSource.AuthSdk;
                error       = msalEx.ErrorCode;
                break;

            default:
                errorSource = ErrorSource.AuthSdk;
                break;
            }

            EndAction(action, outcome, errorSource, error, errorDescription);
        }
 public void EndAction(MatsAction action, AuthOutcome outcome, ErrorSource errorSource, string error, string errorDescription)
 {
     TelemetryManager.Flush(action.TelemetryCorrelationId);
     _actionStore.EndMsalAction(action, outcome, errorSource, error, errorDescription);
     _uploader.Upload(GetEventsForUpload());
 }
コード例 #6
0
 public AuthorizationException(AuthOutcome outcome)
 {
     Outcome = outcome;
 }
 public void EndMsalAction(MatsAction action, AuthOutcome outcome, ErrorSource errorSource, string error, string errorDescription)
 {
     EndGenericAction(action.ActionId, MatsConverter.AsString(outcome), errorSource, error, errorDescription, string.Empty);
 }