A.2 Naf_Authentication API
29.2553GPPRelease 17Stage 3TSUncrewed Aerial System Service Supplier (USS) Services
openapi: 3.0.0
info:
title: Naf_Authentication
version: 1.0.2
description: |
AF Authentication Service.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: >
3GPP TS 29.255 V17.3.0; 5G System;Uncrewed Aerial System Service Supplier (USS) Services; Stage
3.
url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.255/
servers:
– url: ‘{apiRoot}/naf-auth/v1’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122
security:
– {}
– oAuth2ClientCredentials: []
paths:
/request-auth:
post:
operationId: UAVAuthRequest
summary: UAV authentication
tags:
– UAV authentication
requestBody:
description: UAV authentication
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/UAVAuthInfo’
responses:
‘200’:
description: UAV Auth response or message exchange
content:
application/json:
schema:
$ref: ‘#/components/schemas/UAVAuthResponse’
‘307’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/401’
‘403’:
description: >
The request is rejected by the USS and more details (not only the ProblemDetails) are
returned.
content:
application/problem+json:
schema:
$ref: ‘#/components/schemas/ProblemDetailsAuthenticateAuthorize’
‘404’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/404’
‘411’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/500’
‘503’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/503’
default:
$ref: ‘TS29122_CommonData.yaml#/components/responses/default’
callbacks:
reauthRevokeNotification:
‘{request.body#/notifyUri}’:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/ReauthRevokeNotify’
responses:
‘204’:
description: Successful Notification response
‘307’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/308’
‘400’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/400’
‘401’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/401’
‘403’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/403’
‘404’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/404’
‘411’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/411’
‘413’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/413’
‘415’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/415’
‘429’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/429’
‘500’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/500’
‘503’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/503’
default:
$ref: ‘TS29122_CommonData.yaml#/components/responses/default’
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: ‘{tokenUrl}’
scopes: {}
schemas:
#
# STRUCTURED DATA TYPES
#
UAVAuthInfo:
description: UAV auth data
type: object
required:
– gpsi
– serviceLevelId
properties:
gpsi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
serviceLevelId:
type: string
notifyUri:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
notifyCorrId:
type: string
ipAddr:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/IpAddr’
pei:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Pei’
authMsg:
type: string
deprecated: true
authContainer:
type: array
items:
$ref: ‘#/components/schemas/AuthContainer’
minItems: 1
uavLocInfo:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/LocationArea5G’
suppFeat:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
UAVAuthResponse:
description: UAV auth response data
type: object
properties:
gpsi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
authContainer:
type: array
items:
$ref: ‘#/components/schemas/AuthContainer’
minItems: 1
authMsg:
type: string
deprecated: true
authResult:
allOf:
– $ref: ‘#/components/schemas/AuthResult’
deprecated: true
serviceLevelId:
type: string
authSessAmbr:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/BitRate’
authProfIndex:
type: string
suppFeat:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
ReauthRevokeNotify:
description: UAV related notification
type: object
required:
– gpsi
– serviceLevelId
– notifyType
properties:
gpsi:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
serviceLevelId:
type: string
notifyCorrId:
type: string
authContainer:
type: array
items:
$ref: ‘#/components/schemas/AuthContainer’
minItems: 1
authMsg:
type: string
deprecated: true
notifyType:
$ref: ‘#/components/schemas/NotifyType’
ipAddr:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/IpAddr’
AuthContainer:
description: Authentication/Authorization data
type: object
properties:
authMsgType:
$ref: ‘#/components/schemas/AuthMsgType’
authMsgPayload:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/RefToBinaryData’
authResult:
$ref: ‘#/components/schemas/AuthResult’
ProblemDetailsAuthenticateAuthorize:
description: Extends ProblemDetails to indicate more details during Authentication failure
allOf:
– $ref: ‘TS29122_CommonData.yaml#/components/schemas/ProblemDetails’
– $ref: ‘#/components/schemas/AdditionInfoAuthenticateAuthorize’
AdditionInfoAuthenticateAuthorize:
description: Indicates additional information during authentication failure
type: object
properties:
uasResRelInd:
type: boolean
description: >
Indicates to release the UAV resources during authentication failure, when set to
"true". Default is set to "false".
#
# SIMPLE DATA TYPES
#
#
# ENUMERATIONS
#
AuthResult:
anyOf:
– type: string
enum:
– AUTH_SUCCESS
– AUTH_FAIL
– type: string
description: >
This string provides forward-compatibility with future extensions to the enumeration but
is not used to encode content defined in the present version of this API.
description: |
Possible values are:
– AUTH_SUCCESS: The UUAA or C2 authorization has succeeded.
– AUTH_FAIL: The UUAA or C2 authorization has failed.
NotifyType:
anyOf:
– type: string
enum:
– REAUTHENTICATE
– REAUTHORIZE
– REVOKE
– type: string
description: >
This string provides forward-compatibility with future extensions to the enumeration but
is not used to encode content defined in the present version of this API.
description: |
Possible values are:
– REAUTHENTICATE: The UAV needs to be reauthenticated.
– REAUTHORIZE: Authorization data needs to be updated to UAV.
– REVOKE: Revoke UAV authentication and authorization.
AuthMsgType:
anyOf:
– type: string
enum:
– UUAA
– C2AUTH
– type: string
description: >
This string provides forward-compatibility with future extensions to the enumeration but
is not used to encode content defined in the present version of this API.
Annex B (informative):
Change history
|
Change history |
|||||||
|
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
|
2021-08 |
CT3#117-e |
C3-214483 |
– |
– |
– |
TS skeleton |
0.0.0 |
|
2021-08 |
CT3#117-e |
C3-214588 |
Added scope, introduction, references, and abbreviations. |
0.1.0 |
|||
|
2021-10 |
CT3#118-e |
C3-215474 |
Added service description, operations for Naf_Authentication Service and Naf_Authentication_ReauthNotify, also added resources and data model. |
0.2.0 |
|||
|
2021-11 |
CT3#119-e |
C3-215474 |
Added specification related to reauthentication and revocation. Removed resource and added custom operation. |
0.3.0 |
|||
|
2021-12 |
CT#94-e |
CP-213207 |
Presented for information |
1.0.0 |
|||
|
2022-01 |
CT3#119bis-e |
C3-220450 |
Inclusion of C3-220494, C3-220265, C3-220362, C3-220340, C3-220268, C3-220279, and C3-220280 |
1.1.0 |
|||
|
2022-02 |
CT3#120 |
C3-221513 |
Inclusion of C3-221241, C3-221242, C3-221686, and C3-221302 |
1.2.0 |
|||
|
2022-03 |
CT#95e |
CP-220156 |
Presentation to TSG CT for approval |
2.0.0 |
|||
|
2022-03 |
CT#95e |
CP-220156 |
Approved by TSG CT |
17.0.0 |
|||
|
2022-06 |
CT#96 |
CP-221143 |
0001 |
EN resolution |
17.1.0 |
||
|
2022-06 |
CT#96 |
CP-221143 |
0002 |
Updates to Naf_Authentication_Notification |
17.1.0 |
||
|
2022-06 |
CT#96 |
CP-221143 |
0003 |
1 |
Updates to Naf_Authentication_AuthenticateAuthorize service |
17.1.0 |
|
|
2022-06 |
CT#96 |
CP-221143 |
0004 |
2 |
Correction to remove revocation cause |
17.1.0 |
|
|
2022-06 |
CT#96 |
CP-221143 |
0005 |
1 |
Corrections to open API |
17.1.0 |
|
|
2022-06 |
CT#96 |
CP-221143 |
0007 |
Update the data structures and OpenAPI for Naf_Authentication service |
17.1.0 |
||
|
2022-06 |
CT#96 |
CP-221143 |
0008 |
Correction on data types for UAV Authentication and Authorization |
17.1.0 |
||
|
2022-06 |
CT#96 |
CP-221143 |
0009 |
Correction on Security |
17.1.0 |
||
|
2022-06 |
CT#96 |
CP-221143 |
0010 |
Correction on status codes |
17.1.0 |
||
|
2022-06 |
CT#96 |
CP-221151 |
0011 |
Update of info and externalDocs fields |
17.1.0 |
||
|
2022-09 |
CT#97e |
CP-222112 |
0013 |
2 |
Application errors reference update in the tables defining methods on the resources for Naf_Authentication API |
17.2.0 |
|
|
2022-09 |
CT#97e |
CP-222112 |
0014 |
1 |
Incomplete implementation of CR #0007 |
17.2.0 |
|
|
2022-09 |
CT#97e |
CP-222112 |
0016 |
1 |
Add CAA-Level UAV ID to the authorization response |
17.2.0 |
|
|
2022-09 |
CT#97e |
CP-222112 |
0017 |
1 |
Missing description field for enumeration data types |
17.2.0 |
|
|
2022-09 |
CT#97e |
CP-222112 |
0018 |
1 |
Operation identifier for Naf_Authentication API |
17.2.0 |
|
|
2022-09 |
CT#97e |
CP-222112 |
0019 |
1 |
Update the presence condition of the attribtues |
17.2.0 |
|
|
2022-09 |
CT#97e |
CP-222121 |
0020 |
Update of info and externalDocs fields |
17.2.0 |
||
|
2022-12 |
CT#98e |
CP-223180 |
0012 |
4 |
Corrections for Auth message type |
17.3.0 |
|
|
2022-12 |
CT#98e |
CP-223180 |
0021 |
1 |
Adding missing attributes DN Authorization Profile Index and DN authorized Session AMBR |
17.3.0 |
|
|
2022-12 |
CT#98e |
CP-223188 |
0023 |
Update of info and externalDocs fields |
17.3.0 |
||