This commit is contained in:
2019-09-25 17:52:53 +00:00
parent c901b619a4
commit a8a7270377

View File

@@ -67,6 +67,18 @@ namespace qbridge.Controllers
public async Task<IActionResult> GetAsync() public async Task<IActionResult> GetAsync()
{ {
await GetQBDiscoveryDocument(); await GetQBDiscoveryDocument();
if (DiscoveryDoc == null)
{
return Content($"<h1>Error - Unable to fetch Discovery document from QuickBooks Online</h1>Cannot proceed");
}
var authorizationEndpoint = DiscoveryDoc["authorization_endpoint"].Value<string>();
if (string.IsNullOrWhiteSpace(authorizationEndpoint))
{
return Content($"<h1>Error - Unable to find AuthorizationEndpoint value in Discovery document from QuickBooks Online</h1>Cannot proceed");
}
string url = string.Empty; string url = string.Empty;
var queryParams = new Dictionary<string, string>() var queryParams = new Dictionary<string, string>()
{ {
@@ -77,8 +89,7 @@ namespace qbridge.Controllers
{"state","MyUniqueStateID"} {"state","MyUniqueStateID"}
}; };
url = Microsoft.AspNetCore.WebUtilities.QueryHelpers.AddQueryString("https://appcenter.intuit.com/connect/oauth2", queryParams); url = Microsoft.AspNetCore.WebUtilities.QueryHelpers.AddQueryString(authorizationEndpoint, queryParams);
// return Content($"AuthUrl: {url}");
return Redirect(url); return Redirect(url);
//will ask for login creds and permission then will redirect back to the Get method above with: //will ask for login creds and permission then will redirect back to the Get method above with:
@@ -93,6 +104,15 @@ namespace qbridge.Controllers
public async Task GetQBDiscoveryDocument() public async Task GetQBDiscoveryDocument()
{ {
/*
issuer:"https://oauth.platform.intuit.com/op/v1",
authorization_endpoint:"https://appcenter.intuit.com/connect/oauth2",
token_endpoint:"https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer",
userinfo_endpoint:"https://accounts.intuit.com/v1/openid_connect/userinfo",
revocation_endpoint:"https://developer.API.intuit.com/v2/oauth2/tokens/revoke",
jwks_uri:"https://oauth.platform.intuit.com/op/v1/jwks",
*/
var request = new HttpRequestMessage(HttpMethod.Get, var request = new HttpRequestMessage(HttpMethod.Get,
"https://developer.api.intuit.com/.well-known/openid_sandbox_configuration"); "https://developer.api.intuit.com/.well-known/openid_sandbox_configuration");
request.Headers.Add("Accept", "application/json"); request.Headers.Add("Accept", "application/json");