我正在使用rails / ember应用程序中使用omniauth,而且我在google登录时遇到了一些问题。我收到弹出窗口以允许该网站对我进行身份验证,但点击后接受请求炸弹:
Uncaught SecurityError: Blocked a frame with origin "https://localhost:3001" from
accessing a frame with origin "https://accounts.google.com". Protocols, domains,
and ports must match.
我正在使用自签名证书在本地开发中获取HTTPS,但如何在本地测试此身份验证逻辑?
Coffeescript试图登录:
$ ->
$.ajax
url: '//apis.google.com/js/client:plus.js?onload=gpAsyncInit'
dataType: 'script'
cache: true
window.gpAsyncInit = ->
$(".google-login").click (e) ->
e.preventDefault()
gapi.auth.authorize
immediate: false
response_type: "code"
client_id: "<%= ENV["GOOGLE_CLIENT_ID"] %>"
scope: "email profile"
, (response) ->
if response and not response.error
jQuery.ajax
type: "POST"
url: "/auth/google_oauth2/callback"
dataType: "json"
data: response
success: (json) ->
alert 'success!'
else
alert response.error
答案 0 :(得分:0)
尝试使用有效域替换localhost,例如。 mydevserver.me.com。您可以在/ etc / hosts中将mydevserver.me.com指向127.0.0.1。您还需要将http://mydevserver.me.com/mycallback作为回调网址添加到Google API控制台