github.com/avenga/couper@v1.12.2/server/testdata/oauth2/token_request.hcl (about)

     1  server "api" {
     2    api {
     3      endpoint "/resource" {
     4        proxy {
     5          backend = "be"
     6        }
     7      }
     8    }
     9  }
    10  
    11  definitions {
    12    backend "be" {
    13      origin = "{{.rsOrigin}}"
    14      set_request_headers = {
    15        Auth-1 = backends.be.beta_tokens.tr1
    16        Auth-2 = backends.be.beta_tokens.default
    17        Auth-3 = backends.be.beta_token
    18        Auth-4 = backend.beta_tokens.tr1
    19        Auth-5 = backend.beta_tokens.default
    20        Auth-6 = backend.beta_token
    21        KeyId = backends.as.beta_token
    22      }
    23  
    24      oauth2 {
    25        token_endpoint = "{{.asOrigin}}/token"
    26        backend = "as"
    27        client_id = "clid"
    28        client_secret = "cls"
    29        grant_type = "client_credentials"
    30      }
    31  
    32      beta_token_request "tr1" {
    33        url = "{{.asOrigin}}/token1"
    34        backend = "as"
    35        form_body = {
    36          client_id = "clid"
    37          client_secret = "cls"
    38          grant_type = "client_credentials"
    39        }
    40        token = beta_token_response.json_body.access_token
    41        ttl = "${default(beta_token_response.json_body.expires_in, 3600) * 0.9}s"
    42      }
    43  
    44      beta_token_request "default" {
    45        url = "/token2"
    46        query_params = {
    47          foo = "bar"
    48        }
    49        backend = "as"
    50        form_body = {
    51          client_id = "clid"
    52          client_secret = "cls"
    53          grant_type = "password"
    54          username = "user"
    55          password = "asdf"
    56        }
    57        token = beta_token_response.json_body.access_token
    58        ttl = "${default(beta_token_response.json_body.expires_in, 3600) * 0.9}s"
    59      }
    60    }
    61  
    62    backend "as" {
    63      origin = "{{.asOrigin}}"
    64      set_request_headers = {
    65        KeyId = backend.beta_token
    66      }
    67  
    68      # context test for local backend variable
    69      basic_auth = "${backend.beta_token}:"
    70      path_prefix = "/${backend.beta_token}"
    71  
    72      beta_token_request {
    73        url = "{{.vaultOrigin}}/key"
    74        backend = "vault"
    75        token = beta_token_response.body
    76        ttl = "1h"
    77      }
    78    }
    79  
    80    backend "vault" {
    81      origin = "{{.vaultOrigin}}"
    82    }
    83  }
    84  
    85  settings {
    86    no_proxy_from_env = true
    87  }