microsoft / microsoft/kiota-php
AuthorizationUrl is not correct
@shemogumbe is already working on this.
Since Feb 6, 2025.
- Dominant language
- PHP
- Stars
- 8
- Forks
- 10
- Avg merge
- 10h 16m
- Merged PRs (30d)
- 3
Description
Hello,
I am trying to upgrade my application to use msgraph-sdk-php v2 and found this issue in this package.
$tokenRequestContext = new AuthorizationCodeContext(
'tenantId', 'clientId', 'clientSecret', 'authCode', 'redirectUri');
$scopes = ['User.Read'];
$authProvider = new GraphPhpLeagueAuthenticationProvider($tokenRequestContext, $scopes);
$redirectUrl = $authProvider->getAccessTokenProvider()
->getOauthProvider()->getAuthorizationUrl();
The authorization url is not correct because of:
- AADSTS900144: The request body must contain the following parameter: 'client_id'.
- AADSTS900144: The request body must contain the following parameter: 'scope'.
- Also the redirectUri is missing, there is no specific error for this, but it is necessary.
The clientId and redirectId issues could be fixed in the ProviderFactory class when creating the GenericProvider.
The scopes issue could be fixed in the PhpLeagueAccessTokenProvider constructor and pass them to the ProviderFactory::create, and then to the GenericProvider.
The goal is to have the League\OAuth2\Client\Provider\GenericProvider class fully equipped, which might also require passing the clientSecret to it, but it is not necessary for getAuthorizationUrl().
I can imagine that this fix might not be as simple as I described, but if you could look into it, it would be greatly appreciated.
Thanks!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.