我尝试开发一个与社交集 vkontakte 连接的应用程序。为此,我使用来自 https://github.com/vkolodrevskiy/spring-social-vkontakte 的 spring-social 的 spring-social-vkontakte 模块,因为官方网站 springsocial http://www.springsource.org 中提到了此资源/spring-社交。
问题是,当我使用 VKontakteConnectionFactory 向 vkontakte 中的应用程序发出请求时,我无法在 redirect_uri 中使用我的本地地址,因为我收到错误:
{"error":"invalid_request","error_description":"redirect_uri has wrong domain, check application settings"}
在 vkontakte 文档中 http://vk.com/developers.php?oid=-17680044&p=Authorizing_Client_Applications在如何构建授权 url 一节中描述了:“REDIRECT_URI – access_token 将呈现的地址”。为了解决这个问题,我使用http://api.vkontakte.ru/blank.html作为redirect_uri,我可以收到代码,但授权后我无法返回我的应用程序。这是一个问题。我的例子:
VKontakteConnectionFactory vKontakteConnectionFactory = new VKontakteConnectionFactory(app_id, app_secret);
OAuth2Operations operations = vKontakteConnectionFactory.getOAuthOperations();
OAuth2Parameters parameters = new OAuth2Parameters();
parameters.setRedirectUri("http://api.vkontakte.ru/blank.html");
String authorazeUrl = operations.buildAuthorizeUrl(GrantType.AUTHORIZATION_CODE, parameters);
response.sendRedirect(authorazeUrl);
在 vkontakte 中,我使用下一个参数创建了应用程序:
- 网站地址:http://localhost:8080/
- 基本域:localhost(在这个地方我无法输入 localhost:8080,服务拒绝它)
我销毁了一些链接,因为我无法发布这么多(
如果有人知道如何重定向到本地主机或其他解决方案来解决此问题,请帮助我。
提前致谢
最佳答案
它不允许您指定域“localhost”。它应该是一种“localhost.ua”、“www.mysite.com”。 这对我有用。
关于oauth-2.0 - spring-social-vkontakte 授权代码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9784401/