Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
paulalmond91
Helper II
Helper II

OAuth2.0 Custom Connector TestConnection Issue

I've tested a working connector with PowerBI desktop and published this to service but I am facing an issue where the Data Source configuration in the Gateway won't store the OAuth access_token.
I following the guidance regarding TestConnection found here: https://github.com/Microsoft/DataConnectors/blob/master/docs/m-extensions.md#implementing-testconnec...

 

The issue I am facing is that I click Edit Credentials when configuring a Data Source on the gateway - the OAuth flow start and I click to Allow access but it just takes me back to the popup below (with Add being greyed out).

 

Capture.PNG

 

Here is my VS code:

 

 

[DataSource.Kind="AdministrateGraphQL", Publish="AdministrateGraphQL.UI"]
shared AdministrateGraph = (query as text) =>
    let
        apiToken = "Bearer " & Extension.CurrentCredential()[access_token],
        Source = Web.Contents("https://api.getadministrate.com/graphql",
        [Headers=[
			    #"Method"="POST",
			    #"Content-Type"="application/json",
                #"Authorization"=apiToken
		    ],
            Content=Text.ToBinary(query)
        ]),
		Output = Json.Document(Source)
    in
        Output;

[DataSource.Kind="AdministrateGraphQL"]
shared TestAdministrateGraph = (query as text) =>
    let
        apiToken = "Bearer " & Extension.CurrentCredential()[access_token],
        Source = Web.Contents("https://api.getadministrate.com/graphql",
        [Headers=[
			    #"Method"="POST",
			    #"Content-Type"="application/json",
                #"Authorization"=apiToken
		    ],
            Content=Text.ToBinary(query)
        ]),
		Output = Json.Document(Source)
    in
        Output;

// Data Source Kind description
AdministrateGraphQL = [
	TestConnection = (dataSourcePath) => { "AdministrateGraph", dataSourcePath },
    Authentication = [
        OAuth = [
            StartLogin=StartLogin,
            FinishLogin=FinishLogin,
            Refresh=Refresh
        ]
    ],
    Label = Extension.LoadString("Administrate GraphQL Connector") 
];

 

 

 

Is anyone able to highlight why this isn't working?

2 REPLIES 2
davidvincentret
Frequent Visitor

Hello, 

I am working on developping an Oauth2 connector like you but I'm currently not succeeding, would it be possible to see how you've set up your StarLogin and FinishLogin functions ? I'm struggling with these two functions because I don't need any authorize URL to access my toke, I just need to request the token url with some credentials and I get it, no exampe works like this online 

Otherwise sorry, I can't help you that much ahah

paulalmond91
Helper II
Helper II

Anyone have any thoughts?

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.