Forum Discussion
Custom connector : pass UI values to StartLogin function
Hi Folks,
I am developing a custom connector where the user write down on the UI :
- the API URL
- the client_id
-the client_secret
I would like to know how to pass the client_id and client_secret to my StartLogin and FinishLogin ?
Thanks in advance.
Regards,
Hi Anonymous ,
Thanks for your reply but it does not reply to my problem.
I found the solution to get those values :
StartLogin = (clientApplication, dataSourcePath, state, display) => let authorizeUrl = AUTHORIZE_URI & "?" & Uri.BuildQueryString([ response_type = "code", client_id = Json.Document(dataSourcePath)[client_id], redirect_uri = REDIRECT_URI, state1 = state, scope = GetScopeString(SCOPES, SCOPE_PREFIX) ]) in [ LoginUri = authorizeUrl, CallbackUri = REDIRECT_URI, WindowHeight = WINDOW_HEIGHT, WindowWidth = WINDOW_WIDTH, Context = null ];
You need to parse the "dataSourcePath" variable.
Regards,
2 Replies
- AnonymousNot applicable
Hi ochaoui
1. Create a Data Source definition
// // Data Source definition // GithubSample = [ Authentication = [ OAuth = [ StartLogin = StartLogin, FinishLogin = FinishLogin ] ], Label = Extension.LoadString("DataSourceLabel") ];2. Provide details so the M engine can start the OAuth flow.
The following code snippet describes how to implement a
StartLoginfunction to start the login flow.StartLogin = (resourceUrl, state, display) => let AuthorizeUrl = "https://github.com/login/oauth/authorize?" & Uri.BuildQueryString([ client_id = client_id, scope = "user, repo", state = state, redirect_uri = redirect_uri]) in [ LoginUri = AuthorizeUrl, CallbackUri = redirect_uri, WindowHeight = windowHeight, WindowWidth = windowWidth, Context = null ];For more details you may refer to this offical blog: GitHub Connector Sample
Best Regards,
Rico ZhouIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- ochaouiFrequent Visitor
Hi Anonymous ,
Thanks for your reply but it does not reply to my problem.
I found the solution to get those values :
StartLogin = (clientApplication, dataSourcePath, state, display) => let authorizeUrl = AUTHORIZE_URI & "?" & Uri.BuildQueryString([ response_type = "code", client_id = Json.Document(dataSourcePath)[client_id], redirect_uri = REDIRECT_URI, state1 = state, scope = GetScopeString(SCOPES, SCOPE_PREFIX) ]) in [ LoginUri = authorizeUrl, CallbackUri = REDIRECT_URI, WindowHeight = WINDOW_HEIGHT, WindowWidth = WINDOW_WIDTH, Context = null ];
You need to parse the "dataSourcePath" variable.
Regards,