NAPA-SNAPA API

System Profile

System Full Name

Aeronautical Products API

System Full Name (FR)

Produits Aeronautique - Prestation de services API

Subject Matter Expert

Michelle Coelho

Source Code Location

https://dev.azure.com/transport-canada/DSD-CIVAV Support/_git/NAPA-SNAPA_API

Client ID

https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Overview/appId/22897920-2e0b-4e97-80ca-fbc41c5805cb/isMSAApp/

KeyVault Secret

https://portal.azure.com/#@034gc.onmicrosoft.com/asset/Microsoft_Azure_KeyVault/Secret/https://civav-dev-keyvault.vault.azure.net/secrets/APSD-PAPS-PowerApps

Technology Assessment

Platform Type

 

Database Platform and Version

Oracle 11g 

Development Language and Framework

C#, .NET Core 6

Operating System and Version

 

Additional Dependencies

 

Authentication

 Azure AD

Environment Access Information

Note: the dev server doesn’t have a certificate to work with https

Azure Resources

Resource

Development

Production

Resource

Development

Production

Resource Group

TC-DevTest-CivAv-RGP

 

App Registration

CivAv-Dev-NAPA-SNAPA

CivAv-Prod-NAPA-SNAPA

Key Vault

civav-dev-kv-napa-snapa

(kv-napa-snapa-api-clientsecret)

civav-prod-kv-apsd-paps

API Architecture

API Infrastructure

points

points

Integration with Azure (Azure AD and possibility with KeyVault)

VPN dependency

Using the last version for software development platform

Oracle connection dependency

 

Not scalable because is inside IIS

 

30% of the app's power is being used

 

Availability not guaranteed 24/7

Azure configuration

 

  1. The redirect URL from the API needs to be registered on app registration

  2. The option Access tokens need to be activated

  3. In Exposed API, add a scope

  4. Give access to your client ID

  5. In API permissions, grant access to your scope

  6. This configuration will be used in your API

  7. To configure your endpoint, you can see from here

 

 

API Access

  1. Open the API in development (see the address up)

  2. Click on Authorize

  3. Select the scope and click on Authorize again. The Microsoft login page will open and you need to enter your credentials as MSTeams.

  4. After that, you can try to execute an API

How to Publish NAPA-SNAPA API

  1. Clone the repository: https://dev.azure.com/transport-canada/DSD-CIVAV Support/_git/NAPA-SNAPA_API

  2. Open Visual Studio Code

  3. Configure the appsettings.json file according to your azure configuration

  4. Open a terminal and type:

    dotnet publish -c Release

    For development, dotnet publish is enough.

  5. At the end of the process, you have a path to find your files

  6. Open the path and copy and paste the files in the server

 

How to refresh NAPA-SNAPA API token

  1. Go the portal- Add off-line access permission.

     

    2- Update the API security

  2. Update Refresh token url with the token url

  3. Ref: https://learn.microsoft.com/en-us/azure/energy-data-services/how-to-generate-refresh-token#register-your-app-with-azure-ad