Как я знаю, страница, на которой вы предоставляете права доступа к приложению, должна находиться за пределами страницы приложения.
И если вы хотите, чтобы вы были перенаправлены на страницу вашего приложения FB, вы должны использовать
access_token = client.web_server.get_access_token(params[:code], :redirect_uri => redirect_uri)
def redirect_uri
uri = URI.parse(request.url)
uri.path = '/fbcanvas'
uri.query = nil
uri.to_s
end
Метод redirect_uri специально используется здесь, поэтому, когда вы будете перенаправлены со страницы вашего приложения fb, вы вернетесь туда, а если вас перенаправят с самого сайта, вы вернетесь на свой сайт.