github.com/kaisawind/go-swagger@v0.19.0/examples/composed-auth/restapi/doc.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  /*
     4  Package restapi Composing authorizations
     5  This sample API demonstrates how to compose several authentication schemes
     6  and configure complex security requirements for your operations.
     7  
     8  This API simulates a very simple market place with customers and resellers
     9  of items.
    10  
    11  Personas:
    12    - as a first time user, I want to see all items on sales
    13    - as a registered customer, I want to post orders for items and
    14      consult my past orders
    15    - as a registered reseller, I want to see all pending orders on the items
    16      I am selling on the market place
    17    - as a reseller managing my own inventories, I want to post replenishment orders for the items I provide
    18    - as a register user, I want to consult my personal account infos
    19  
    20  The situation we defined on the authentication side is as follows:
    21    - every known user is authenticated using a basic token
    22    - resellers are authenticated using API keys - we let the option to authenticate using a header or query param
    23    - any registered user (customer or reseller) will add a signed JWT to access more API endpoints
    24  
    25  Obviously, there are several ways to achieve the same result. We just wanted to demonstrate here how
    26  security requirements may compose several schemes.
    27  
    28  Note that we used the "OAuth2" declaration here but don't implement a real
    29  OAuth2 workflow: our intend here is just to be able to extract scopes from a passed JWT token (the
    30  only way to manipulate scoped authorizers with Swagger 2.0 is to declare them with type "oauth2").
    31  
    32  
    33  
    34      Schemes:
    35        http
    36      Host: localhost
    37      BasePath: /api
    38      Version: 0.0.1
    39  
    40      Consumes:
    41      - application/json
    42  
    43      Produces:
    44      - application/json
    45  
    46  swagger:meta
    47  */
    48  package restapi