示例#1
0
        public async Task DeleteAuthorizationServerPolicy()
        {
            var testClient = TestClient.Create();
            var testAuthorizationServerName = $"{SdkPrefix}:Test AuthZ Server ({TestClient.RandomString(4)})";

            var testAuthorizationServer = new AuthorizationServer
            {
                Name        = testAuthorizationServerName,
                Description = "Test Authorization Server",
                Audiences   = new string[] { "api://default" },
            };
            var testPolicy = new OAuthAuthorizationPolicy
            {
                Name        = $"{SdkPrefix}:Test Policy",
                Type        = PolicyType.OAuthAuthorizationPolicy,
                Status      = "ACTIVE",
                Description = "Test policy",
                Priority    = 1,
                Conditions  = new PolicyRuleConditions
                {
                    Clients = new ClientPolicyCondition
                    {
                        Include = new List <string> {
                            "ALL_CLIENTS"
                        },
                    },
                },
            };

            var createdAuthorizationServer = await testClient.AuthorizationServers.CreateAuthorizationServerAsync(testAuthorizationServer);

            var createdPolicy = await createdAuthorizationServer.CreatePolicyAsync(testPolicy);

            try
            {
                var retrievedAuthorizationPolicy = await testClient.AuthorizationServers.GetAuthorizationServerPolicyAsync(createdAuthorizationServer.Id, createdPolicy.Id);

                retrievedAuthorizationPolicy.Should().NotBeNull();

                await createdAuthorizationServer.DeletePolicyAsync(createdPolicy.Id);

                var ex = await Assert.ThrowsAsync <OktaApiException>(() => testClient.AuthorizationServers.GetAuthorizationServerPolicyAsync(createdAuthorizationServer.Id, createdPolicy.Id));

                ex.StatusCode.Should().Be(404);
            }
            finally
            {
                await createdAuthorizationServer.DeactivateAsync();

                await testClient.AuthorizationServers.DeleteAuthorizationServerAsync(createdAuthorizationServer.Id);
            }
        }
示例#2
0
        public async Task UpdateAuthorizationServerPolicy()
        {
            var testClient = TestClient.Create();
            var testAuthorizationServerName = $"{SdkPrefix}:Test AuthZ Server ({TestClient.RandomString(4)})";

            var testAuthorizationServer = new AuthorizationServer
            {
                Name        = testAuthorizationServerName,
                Description = "Test Authorization Server",
                Audiences   = new string[] { "api://default" },
            };
            var testPolicy = new OAuthAuthorizationPolicy
            {
                Name        = $"{SdkPrefix}:Test Policy",
                Type        = PolicyType.OAuthAuthorizationPolicy,
                Status      = "ACTIVE",
                Description = "Test policy",
                Priority    = 1,
                Conditions  = new PolicyRuleConditions
                {
                    Clients = new ClientPolicyCondition
                    {
                        Include = new List <string> {
                            "ALL_CLIENTS"
                        },
                    },
                },
            };

            var createdAuthorizationServer = await testClient.AuthorizationServers.CreateAuthorizationServerAsync(testAuthorizationServer);

            var createdPolicy = await createdAuthorizationServer.CreatePolicyAsync(testPolicy);

            createdPolicy.Name        = $"{SdkPrefix}:Test Policy Updated";
            createdPolicy.Description = "Test policy description updated";
            var updatedPolicy = await createdAuthorizationServer.UpdatePolicyAsync(createdPolicy, createdPolicy.Id);

            try
            {
                updatedPolicy.Should().NotBeNull();
                updatedPolicy.Name.Should().Be($"{SdkPrefix}:Test Policy Updated");
                updatedPolicy.Description.Should().Be("Test policy description updated");
            }
            finally
            {
                await createdAuthorizationServer.DeletePolicyAsync(createdPolicy.Id);

                await createdAuthorizationServer.DeactivateAsync();

                await testClient.AuthorizationServers.DeleteAuthorizationServerAsync(createdAuthorizationServer.Id);
            }
        }