Stumbled upon a solution while trying some other things.
I'm using the Facebook Login button like this:
<div
id="fblogin"
class="fb-login-button"
data-show-faces="false"
data-width="200"
data-max-rows="1"
data-scope="publish_actions"
login_text="Login to Review" >
</div>
This would open the Facebook login dialogue but would stop after the initial permissions step and wouldn't continue the extended permissions I was requesting.
Turns out that if I hijack the Facebook login by calling FB.login
when the user clicks the button, and add a return: false;
the permissions dialogue works as it should.
$('#fblogin').click(function(){
FB.login(function() {
}, {scope: 'publish_actions'});
return false;
});
Problem solved!