/// <summary>
 /// Create a new application.  (see
 /// http://msdn.microsoft.com/en-us/library/azure/hh974476.aspx for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the Microsoft.Azure.Graph.RBAC.IApplicationOperations.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters to create an application.
 /// </param>
 /// <returns>
 /// Server response for Get application information API call
 /// </returns>
 public static ApplicationGetResult Create(this IApplicationOperations operations, ApplicationCreateParameters parameters)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IApplicationOperations)s).CreateAsync(parameters);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
        public PSADApplication CreateApplication(CreatePSApplicationParameters createParameters)
        {
            IList<PasswordCredential> passwordCredentials = createParameters.PasswordCredentials != null
                ? createParameters.PasswordCredentials.Select(psCredential => psCredential.ToGraphPasswordCredential()).ToList()
                : null;

            IList<KeyCredential> keyCredentials = createParameters.KeyCredentials != null
                ? createParameters.KeyCredentials.Select(psCredential => psCredential.ToGraphKeyCredential()).ToList()
                : null;

            ApplicationCreateParameters graphParameters = new ApplicationCreateParameters
            {
                DisplayName = createParameters.DisplayName,
                Homepage = createParameters.HomePage,
                IdentifierUris = createParameters.IdentifierUris,
                PasswordCredentials = passwordCredentials,
                KeyCredentials = keyCredentials
            };

            return GraphClient.Application.Create(graphParameters).Application.ToPSADApplication();
        }
 /// <summary>
 /// Create a new application.  (see
 /// http://msdn.microsoft.com/en-us/library/azure/hh974476.aspx for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the Microsoft.Azure.Graph.RBAC.IApplicationOperations.
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters to create an application.
 /// </param>
 /// <returns>
 /// Server response for Get application information API call
 /// </returns>
 public static Task<ApplicationGetResult> CreateAsync(this IApplicationOperations operations, ApplicationCreateParameters parameters)
 {
     return operations.CreateAsync(parameters, CancellationToken.None);
 }
 /// <summary>
 /// Update existing application.  (see
 /// http://msdn.microsoft.com/en-us/library/azure/hh974476.aspx for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the Microsoft.Azure.Graph.RBAC.IApplicationOperations.
 /// </param>
 /// <param name='applicationObjectId'>
 /// Required. Application object id
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters to create an application.
 /// </param>
 /// <returns>
 /// A standard service response including an HTTP status code and
 /// request ID.
 /// </returns>
 public static Task<AzureOperationResponse> UpdateAsync(this IApplicationOperations operations, string applicationObjectId, ApplicationCreateParameters parameters)
 {
     return operations.UpdateAsync(applicationObjectId, parameters, CancellationToken.None);
 }
示例#5
0
        public Application CreateApplication(PasswordCredential passwordCredential = null, KeyCredential keyCredential = null, string applicationName = null)
        {
            var appName = applicationName ?? TestUtilities.GenerateName("adApplication");
            var url = string.Format("http://{0}/home", appName);
            var parameters = new ApplicationCreateParameters();

            parameters.AvailableToOtherTenants = false;
            parameters.DisplayName = appName;
            parameters.Homepage = url;
            parameters.IdentifierUris = new[] { url };
            parameters.ReplyUrls = new[] { url };

            if (passwordCredential != null)
            {
                parameters.PasswordCredentials = new PasswordCredential[] { passwordCredential };
            }

            if (keyCredential != null)
            {
                parameters.KeyCredentials = new KeyCredential[] { keyCredential };
            }

            return GraphClient.Application.Create(parameters).Application;
        }
        public PSADApplication CreateApplication(CreatePSApplicationParameters createParameters)
        {
            IList<PasswordCredential> passwordCredentials = createParameters.PasswordCredentials != null
                ? createParameters.PasswordCredentials.Select(psCredential => psCredential.ToGraphPasswordCredential()).ToList()
                : null;

            IList<KeyCredential> keyCredentials = createParameters.KeyCredentials != null
                ? createParameters.KeyCredentials.Select(psCredential => psCredential.ToGraphKeyCredential()).ToList()
                : null;

            ApplicationCreateParameters graphParameters = new ApplicationCreateParameters
            {
                DisplayName = createParameters.DisplayName,
                Homepage = createParameters.HomePage,
                IdentifierUris = createParameters.IdentifierUris,
                ReplyUrls = createParameters.ReplyUrls,
                AvailableToOtherTenants = createParameters.AvailableToOtherTenants,
                PasswordCredentials = passwordCredentials,
                KeyCredentials = keyCredentials
            };

            try
            {
                return GraphClient.Applications.Create(graphParameters).ToPSADApplication();
            }
            catch (GraphErrorException ce)
            {
                if (ce.Response.StatusCode == HttpStatusCode.Forbidden)
                {
                    AADObject currentUser = GraphClient.Objects.GetCurrentUser();
                    if (currentUser != null && string.Equals(currentUser.UserType, "Guest", StringComparison.InvariantCultureIgnoreCase))
                    {
                        throw new InvalidOperationException(ProjectResources.CreateApplicationNotAllowedGuestUser);
                    }
                }

                throw;
            }
        }
        private Application CreateNewAdApp(ResourcesController controllerAdmin)
        {
            var appName = TestUtilities.GenerateName("adApplication");
            var url = string.Format("http://{0}/home", appName);
            var appParam = new ApplicationCreateParameters
            {
                AvailableToOtherTenants = false,
                DisplayName = appName,
                Homepage = url,
                IdentifierUris = new[] { url },
                ReplyUrls = new[] { url }
            };

            return controllerAdmin.GraphClient.Application.Create(appParam).Application;
        }