【发布时间】:2015-06-29 18:35:50
【问题描述】:
我正在使用 Grails OAuth 插件。
这里是Config.groovy代码:
oauth {
providers {
google {
api = org.scribe.builder.api.GoogleApi
key = 'XXX.apps.googleusercontent.com'
secret = 'XXX'
scope = 'https://www.googleapis.com/auth/userinfo.profile'
callback = "${grails.serverURL}/oauth/google/callback"
successUri = "${grails.serverURL}/login/google"
}
}
}
这里是LoginController代码:
def google() {
Token token = (Token) session[oauthService.findSessionKeyForAccessToken('google')]
def googleResource = oauthService.getGoogleResource(token,
grailsApplication.config.grails.google.api.url)
def googleResponse = JSON.parse(googleResource?.getBody())
log.info "token = ${token}"
log.info "googleResponse = ${googleResponse}"
log.info "accesstoken = ${token.token}"
log.info "id = ${googleResponse.id}"
log.info "name = ${googleResponse.name}"
//println googleResponse.name
//render params
redirect(controller: "Profile",action:"dashboard")
}
这是错误
2015-04-22 14:10:55,902 [http-bio-8080-exec-8] 错误 errors.GrailsExceptionResolver - OAuthException 发生时 处理请求:[GET] /uxsurvey/oauth/google/authenticate - 参数:redirectUrl:响应正文不正确。无法提取 令牌和秘密:'消费者未注册: 455253656547-3vrklc5phr5shur4l97qhk56ej8o028v.apps.googleusercontent.com '。 Stacktrace 如下:消息:响应正文不正确。不能 从中提取令牌和秘密:'消费者未注册: 455253656547-3vrklc5phr5shur4l97qhk56ej8o028v.apps.googleusercontent.com '
这是 google Api 客户端 ID 代码
Client ID
XXX.apps.googleusercontent.com
Email address
XXX.gserviceaccount.com
Client secret
XXX
Redirect URIs
http://localhost:8080/uxsurvey/login/google
Javascript Origins
none
【问题讨论】:
-
不确定答案,但如果那是您的实际密钥,我会在您将其发布在互联网上时更改它... ;-)
-
感谢您的建议
-
grailsApplication.config.grails.google.api.url的值是多少? -
grails.google.api.url = "googleapis.com/oauth2/v1/userinfo"
标签: grails oauth google-plus