So just a follow up, I got this working as a result of...
1. getResourceOwnerDetailsUrl Change
The getResourceOwnerDetailsUrl
function needed to be changed from:
return $this->settings->get('flagrow.passport.app_user_url');
to the following:
return $this->settings->get('flagrow.passport.app_user_url')."?access_token=".((string) $token->getToken());
If there is any possibility of getting an upstream option in your project to pass optional params with a replacer for it, that'd be amazing.
2. Added a result private variable to ResourceOwner
I added:
private $result
as a variable, added the following in the constructor:
$this->result = $response["result"];
3. Change ResourceOwner getValueByKey function calls
Phabricator returns user info as a "results" array which has:
phid
instead of id
primaryEmail
instead of email
userName
instead of name
Additionally needed to change $this->response
to $this->result
Is there any remote possibility of expanding your extension to support further configuration options such as the above (or handling their cases)? I'd prefer to not have to maintain a fork, but happy to do so if you have no desire to expand your extension to handle the cases above.