OpenAPI
OpenAPI Version: 3.0.0
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The NRF offers an Nnrf_AccessToken service (used for OAuth2 authorization, see IETF RFC 6749 [16]), following the "Client Credentials" authorization grant, as specified in 3GPP TS 33.501 [15]. It exposes a "Token Endpoint" where the Access Token Request service can be requested by NF Service Consumers.
Reference: 3GPP TS 33.501 [15]
OpenAPI Version: 3.0.0
Version: '1.0.0'
Title: 'NRF OAuth2'
Description: 'NRF OAuth2 Authorization'
Description: 3GPP TS 29.510 V15.2.0; 5G System; Network Function Repository Services; Stage 3
URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/'
Method: Post
Summary: Access Token Request
Operation ID: AccessTokenRequest
Tags:
- Access Token Request
Request Body:
Content:
application/x-www-form-urlencoded:
Schema:
Reference: '#/components/schemas/AccessTokenReq'
Required/Optional: true
Responses:
'200' Successful Access Token Request
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/AccessTokenRsp'
Headers:
Cache-Control:
Reference: '#/components/headers/cache-control'
Pragma:
Reference: '#/components/headers/pragma'
'400' Error in the Access Token Request
Content:
Application/JSON:
Schema:
Reference: '#/components/schemas/AccessTokenErr'
Headers:
Cache-Control:
Reference: '#/components/headers/cache-control'
Pragma:
Reference: '#/components/headers/pragma'
Required: true
schema:
Type: string
enum:
- no-store
Required: true
schema:
Type: string
enum:
- no-cache
Type: object
Required:
- grant_type
- nfInstanceId
- scope
Properties:
grant_type:
Type: string
enum:
- client_credentials
nfInstanceId:
Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
nfType:
Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType'
targetNfType:
Reference: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType'
scope:
Type: string
Pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$'
targetNfInstanceId:
Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
requesterPlmn:
Reference: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
targetPlmn:
Reference: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
Type: object
Required:
- access_token
- token_type
Properties:
access_token:
Type: string
Description: JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims)
token_type:
Type: string
expires_in:
Type: integer
scope:
Type: string
Pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$'
Type: object
Required:
- issuer
- subject
- audience
- scope
- expiration
Properties:
issuer:
Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
subject:
Type: string
audience:
anyOf:
- $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType'
- type: array
Items:
Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
minItems: 1
scope:
Type: string
Pattern: '^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$'
expiration:
Type: integer
Type: object
Required:
- error
Properties:
error:
Type: string
enum:
- invalid_request
- invalid_client
- invalid_grant
- unauthorized_client
- unsupported_grant_type
- invalid_scope
error_description:
Type: string
error_uri:
Type: string