text: # Generated by Django 2.2.7 on 2019-11-28 10:14
  
  import django.contrib.postgres.fields
  from django.db import migrations, models
  import django.db.models.deletion
  
  
  class Migration(migrations.Migration):
  
      dependencies = [
          ("oauth", "0003_auto_20191112_1549"),
      ]
  
      operations = [
          migrations.RemoveField(model_name="client", name="client_tls_certificate",),
          migrations.AddField(
              model_name="client",
              name="secret",
              field=models.CharField(
                  blank=True,
                  default="",
                  help_text="Only used if token_endpoint_auth_method is client_secret_basic or client_secret_post.",
                  max_length=128,
              ),
          ),
          migrations.AddField(
              model_name="client",
              name="server",
              field=models.ForeignKey(
                  default=None,
                  on_delete=django.db.models.deletion.CASCADE,
                  to="oauth.Server",
              ),
              preserve_default=False,
          ),
          migrations.AddField(
              model_name="client",
              name="tls_certificate",
              field=models.TextField(
                  blank=True,
                  help_text="Only used if token_endpoint_auth_method is self_signed_tls_client_auth.",
              ),
          ),
          migrations.AddField(
              model_name="client",
              name="tls_client_auth_attribute_name",
              field=models.CharField(
                  blank=True,
                  choices=[
                      (
                          "tls_client_auth_subject_dn",
                          "subject distinguished name of the certificate",
                      ),
                      ("tls_client_auth_san_dns", "dNSName SAN entry in the certificate"),
                      (
                          "tls_client_auth_san_uri",
                          "uniformResourceIdentifier SAN entry in the certificate",
                      ),
                      (
                          "tls_client_auth_san_ip",
                          "IP address in IPAddress SAN entry in the certificate",
                      ),
                      (
                          "tls_client_auth_san_email",
                          "rfc822Name SAN entry in the certificate",
                      ),
                  ],
                  help_text="Defined in draft-ietf-oauth-mtls and only used if token_endpoint_auth_method is tls_client_auth: The name of the attribute of the certificate presented by the client that is compared.",
                  max_length=128,
                  verbose_name="TLS Client Authentication Attribute Name",
              ),
          ),
          migrations.AddField(
              model_name="client",
              name="tls_client_auth_attribute_value",
              field=models.CharField(
                  blank=True,
                  help_text="Defined in draft-ietf-oauth-mtls and only used if token_endpoint_auth_method is tls_client_auth: The value of the attribute of the certificate presented by the client that is compared.",
                  max_length=128,
                  verbose_name="TLS Client Authentication Attribute Value",
              ),
          ),
          migrations.AddField(
              model_name="client",
              name="token_endpoint_auth_method",
              field=models.CharField(
                  choices=[
                      (
                          "client_secret_basic",
                          "Client secret contained in Basic Authorization header",
                      ),
                      (
                          "client_secret_post",
                          "Client secret contained in form post parameters.",
                      ),
                      (
                          "tls_client_auth",
                          "Mutual TLS with PKI certificates (NOT IMPLEMENTED)",
                      ),
                      (
                          "self_signed_tls_client_auth",
                          "Mutual TLS with a self-signed certificate",
                      ),
                  ],
                  default=None,
                  help_text="Used at the token endpoint and the pushed authorization request endpoint.",
                  max_length=128,
                  verbose_name="Client authentication method.",
              ),
              preserve_default=False,
          ),
          migrations.AlterField(
              model_name="session",
              name="scope",
              field=django.contrib.postgres.fields.ArrayField(
                  base_field=models.CharField(max_length=128), size=None
              ),
          ),
      ]
  