示例#1
0
        public void LoginAndEnrollAccount(string identity   = null,
                                          Endpoint endPoint = null,
                                          IAzureAuthenticatorService authenticator = null)
        {
            try
            {
                _requestedIdentity = identity;
                //set the endpoint
                if (endPoint != null)
                {
                    Endpoint = endPoint;
                }

                CacheToken token = AzureTokenCacheService.GetTokenByUpn(identity)[0];
                if (token != null)
                {
                    var tenantId = token.TenantId;
                    var aadId    = token.UserInfo?.UniqueId;
                    _enrollmentManager.RegisterAccountForMAM(identity, aadId, tenantId);
                    return;
                }
            }
            catch (Exception ex)
            {
                var status = new Status()
                {
                    Error      = ex.Message,
                    DidSucceed = false,
                    StatusCode = StatusCode.InternalError
                };

                _loggingService.LogError(typeof(EnrollmentService), ex, ex.Message);
                EnrollmentRequestStatus(status, _authenticationResult);
            }
        }
        public void LoginAndEnrollAccount(
            string identity   = null,
            Endpoint endPoint = null,
            IAzureAuthenticatorService authenticator = null)
        {
            try
            {
                if (endPoint != null)
                {
                    Endpoint = endPoint;
                }

                if (Endpoint != null)
                {
                    SetAdalInformation(endPoint);
                }

                CacheToken token = AzureTokenCacheService.GetTokenByUpn(identity).FirstOrDefault();
                if (token != null)
                {
                    InvokeOnMainThread(() =>
                    {
                        //TODO
                        //debugging - bug with getting tokens via register method
                        //working with @Kyle at Microsoft on issue.  Only work around
                        //is to run LoginAndEnroll instead

                        //IntuneMAMEnrollmentManager.Instance.LoginAndEnrollAccount(identity);

                        IntuneMAMEnrollmentManager.Instance.RegisterAndEnrollAccount(identity);
                    });
                }
                else
                {
                    IntuneMAMEnrollmentManager.Instance.LoginAndEnrollAccount(identity);
                }
            }
            catch (Exception ex)
            {
                _loggingService.LogError(typeof(EnrollmentService), ex, ex.Message);
            }
        }