sources/oauth: fix OAuth source type serializer (#8140)
* sources/oauth: fix OAuth source type serializer Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
parent
24c87a47a6
commit
d9eb4c5248
|
@ -24,7 +24,7 @@ class SourceTypeSerializer(PassiveSerializer):
|
||||||
"""Serializer for SourceType"""
|
"""Serializer for SourceType"""
|
||||||
|
|
||||||
name = CharField(required=True)
|
name = CharField(required=True)
|
||||||
slug = CharField(required=True)
|
verbose_name = CharField(required=True)
|
||||||
urls_customizable = BooleanField()
|
urls_customizable = BooleanField()
|
||||||
request_token_url = CharField(read_only=True, allow_null=True)
|
request_token_url = CharField(read_only=True, allow_null=True)
|
||||||
authorization_url = CharField(read_only=True, allow_null=True)
|
authorization_url = CharField(read_only=True, allow_null=True)
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
"""OAuth Source tests"""
|
"""OAuth Source tests"""
|
||||||
from django.test import TestCase
|
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from requests_mock import Mocker
|
from requests_mock import Mocker
|
||||||
|
from rest_framework.test import APITestCase
|
||||||
|
|
||||||
|
from authentik.core.tests.utils import create_test_admin_user
|
||||||
from authentik.sources.oauth.api.source import OAuthSourceSerializer
|
from authentik.sources.oauth.api.source import OAuthSourceSerializer
|
||||||
from authentik.sources.oauth.models import OAuthSource
|
from authentik.sources.oauth.models import OAuthSource
|
||||||
|
|
||||||
|
|
||||||
class TestOAuthSource(TestCase):
|
class TestOAuthSource(APITestCase):
|
||||||
"""OAuth Source tests"""
|
"""OAuth Source tests"""
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -20,6 +21,19 @@ class TestOAuthSource(TestCase):
|
||||||
consumer_key="",
|
consumer_key="",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_api_read(self):
|
||||||
|
"""Test reading a source"""
|
||||||
|
self.client.force_login(create_test_admin_user())
|
||||||
|
response = self.client.get(
|
||||||
|
reverse(
|
||||||
|
"authentik_api:oauthsource-detail",
|
||||||
|
kwargs={
|
||||||
|
"slug": self.source.slug,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def test_api_validate(self):
|
def test_api_validate(self):
|
||||||
"""Test API validation"""
|
"""Test API validation"""
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
|
|
|
@ -42368,7 +42368,7 @@ components:
|
||||||
properties:
|
properties:
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
slug:
|
verbose_name:
|
||||||
type: string
|
type: string
|
||||||
urls_customizable:
|
urls_customizable:
|
||||||
type: boolean
|
type: boolean
|
||||||
|
@ -42404,8 +42404,8 @@ components:
|
||||||
- oidc_well_known_url
|
- oidc_well_known_url
|
||||||
- profile_url
|
- profile_url
|
||||||
- request_token_url
|
- request_token_url
|
||||||
- slug
|
|
||||||
- urls_customizable
|
- urls_customizable
|
||||||
|
- verbose_name
|
||||||
SpBindingEnum:
|
SpBindingEnum:
|
||||||
enum:
|
enum:
|
||||||
- redirect
|
- redirect
|
||||||
|
|
|
@ -64,7 +64,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||||
clearIcon = false;
|
clearIcon = false;
|
||||||
|
|
||||||
async send(data: OAuthSource): Promise<OAuthSource> {
|
async send(data: OAuthSource): Promise<OAuthSource> {
|
||||||
data.providerType = (this.providerType?.slug || "") as ProviderTypeEnum;
|
data.providerType = (this.providerType?.name || "") as ProviderTypeEnum;
|
||||||
let source: OAuthSource;
|
let source: OAuthSource;
|
||||||
if (this.instance) {
|
if (this.instance) {
|
||||||
source = await new SourcesApi(DEFAULT_CONFIG).sourcesOauthPartialUpdate({
|
source = await new SourcesApi(DEFAULT_CONFIG).sourcesOauthPartialUpdate({
|
||||||
|
@ -178,7 +178,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal> `
|
</ak-form-element-horizontal> `
|
||||||
: html``}
|
: html``}
|
||||||
${this.providerType.slug === ProviderTypeEnum.Openidconnect ||
|
${this.providerType.name === ProviderTypeEnum.Openidconnect ||
|
||||||
this.providerType.oidcWellKnownUrl !== ""
|
this.providerType.oidcWellKnownUrl !== ""
|
||||||
? html`<ak-form-element-horizontal
|
? html`<ak-form-element-horizontal
|
||||||
label=${msg("OIDC Well-known URL")}
|
label=${msg("OIDC Well-known URL")}
|
||||||
|
@ -200,7 +200,7 @@ export class OAuthSourceForm extends WithCapabilitiesConfig(BaseSourceForm<OAuth
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>`
|
</ak-form-element-horizontal>`
|
||||||
: html``}
|
: html``}
|
||||||
${this.providerType.slug === ProviderTypeEnum.Openidconnect ||
|
${this.providerType.name === ProviderTypeEnum.Openidconnect ||
|
||||||
this.providerType.oidcJwksUrl !== ""
|
this.providerType.oidcJwksUrl !== ""
|
||||||
? html`<ak-form-element-horizontal
|
? html`<ak-form-element-horizontal
|
||||||
label=${msg("OIDC JWKS URL")}
|
label=${msg("OIDC JWKS URL")}
|
||||||
|
|
Reference in New Issue