我默认使用 MVC4 模板附带的 OAuth2。
我今天使用 Facebook 和 Google+ 身份验证,并使用标准 OAuthWebSecurity 提供的访问令牌从他们那里收集附加信息。
现在我正在添加链接。当用户使用 Linked In 连接时,我会根据提供者调用不同的方法(在 Account Controller 中的 ExternalloginCallback 方法下)。
LinkedinClient 返回带有额外数据的对象 DotNetOpenAuth.AspNet.AuthenticationResult:访问令牌、名称、标题和行业。
当我使用 accesstoken 获取有关用户的更多信息时,LinkedIn 返回“invalid accesstoken”。
返回的 accesstoken 原来是 Linked In Oauth 用户令牌,而不是我需要访问有关已登录用户的更多信息的用户特定令牌。
有没有办法不编写自定义 Oauth 客户端来检索正确的令牌,或者客户端是否发出未收到正确令牌的调用?