Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use RAML to describe an API using OAuth2 [closed]

I'm want to use RAML to describe an API using OAuth2

Does anyone have a solution or example I could use to compare with my own RAML for my api?

like image 695
Nikos Avatar asked Jan 15 '14 10:01

Nikos


People also ask

How do you use secured in RAML?

To indicate that the method is protected using a specific security scheme, the method MUST be defined by using the securedBy attribute. The value assigned to the securedBy attribute MUST be a list of any of the security schemes previously defined in the securitySchemes property of RAML document root.


1 Answers

From https://github.com/raml-org/raml-spec/blob/master/08_security.md#declaration:

securitySchemes:
    - oauth_2_0:
        description: |
            Dropbox supports OAuth 2.0 for authenticating all API requests.
        type: OAuth 2.0
        describedBy:
            headers:
                Authorization:
                    description: |
                       Used to send a valid OAuth 2 access token. Do not use 
                       with the "access_token" query string parameter.
                    type: string
            queryParameters:
                access_token:
                    description: |
                       Used to send a valid OAuth 2 access token. Do not use together with 
                       the "Authorization" header
                    type: string
            responses:
                401:
                    description: |
                        Bad or expired token. This can happen if the user or Dropbox
                        revoked or expired an access token. To fix, you should re-
                        authenticate the user.
                403:
                    description: |
                        Bad OAuth request (wrong consumer key, bad nonce, expired
                        timestamp...). Unfortunately, re-authenticating the user won't help here.
        settings:
          authorizationUri: https://www.dropbox.com/1/oauth2/authorize
          accessTokenUri: https://api.dropbox.com/1/oauth2/token
          authorizationGrants: [ code, token ]
like image 54
David Dossot Avatar answered Oct 18 '22 09:10

David Dossot