cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Kaveesha_Silva
Frequent Visitor

Store client credentials securely

I am retrieving an access token by calling an API and then use this access token to obtain employee data. I'm using a blank query with the following code.

 

 

    body="grant_type=client_credentials&client_id="&<client_id>&"client_secret="&<client_secret>,
    Source  = Json.Document(Web.Contents(baseUrl,
        [ 
          RelativePath = "oauth/issueToken",
          Headers = [#"Content-Type"="application/x-www-form-urlencoded"],
          Content=Text.ToBinary(body)  
        ]
    )),

    token = Source[access_token],

    data= Json.Document(Web.Contents(baseUrl,
      [ 
        RelativePath = "api/employees",
        Headers = [#"Authorization"="Bearer "&token]
      ]
    )),

 

 

 

I'm getting access token calling our own API (not using AAD). What is the best way to store these client credentials (client_id and client_secret) instead of hardcoding in the code?

2 REPLIES 2
ams1
Responsive Resident
Responsive Resident

Besides the great option @lbendlin mentioned, with an additional API endpoint you could also use the builtin credentials manager https://community.powerbi.com/t5/Power-Query/How-to-securely-store-and-use-token-and-secret-for-API-...

 

lbendlin
Super User
Super User

store them in a text file in a sharepoint document library that only you have access to. Then retrieve that file as part of the Power Query transforms etc.

Helpful resources

Announcements
PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Top Kudoed Authors