onedrive 与 php 应用程序的集成 - 无效的客户端密码 - 错误

onedrive integration with php application - Invalid client secret - error

在将 onedrive 与 php 网络应用程序集成方面需要帮助。目前我在执行以下操作时卡住了:-

  1. 我正在关注这个“https://docs.microsoft.com/en-us/onedrive/developer/”文档来集成它。

  2. 首先通过我的帐户“https://login.microsoftonline.com”在 "Microsoft Application Registration Portal" 注册了我的应用程序。在那里它询问了一些关于我的应用程序的细节 -> 重定向 url 并且我生成了使用 onedrive API.

  3. 时需要的客户端 ID 和客户端 Secrete
  4. 在身份验证过程中,我遵循了 Microsoft Graph -> 代码流程。

  5. API 调用“GET https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={client_id}&scope={scope} &response_type=code&redirect_uri={redirect_uri}”。指定了所需的详细信息,我得到了正确的回复。 即我从中获得代码的“https://myapp.com/auth-redirect?code=df6aa589-1080-b241-b410-c4dff65dbf7c”。

  6. 现在使用此代码我必须获得我失败的访问令牌。 因此我正在按上述方式进行 API 调用在文档中。 IE “POSThttps://login.microsoftonline.com/common/oauth2/v2.0/token 内容类型:application/x-www-form-urlencoded

    client_id={client_id}&redirect_uri={redirect_uri}&client_secret={client_secret} &code={code}&grant_type=authorization_code"

上面我传递的是我在创建应用程序时生成的同一个客户端密码。但我仍然没有获得访问令牌,而是收到如下响应:-

{"error":"invalid_client","error_description":"AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided...}

我尝试了一些其他选项,例如重新生成新密钥和 url 编码,但没有用。 请帮助我,因为我不能从这里前进。 在此先感谢您的帮助。

解决了问题。基本上问题是 w.r.t 密钥生成 。在我们注册应用程序的 "Microsoft Application Registration Portal" 中,在生成应用程序机密时,我使用 "Generate New key pair" 选项来生成 sceret 而不是我们必须使用由单击其他选项 "Generate New Password"