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