I keep receiving this error from windows live
The provided value for the input parameter 'redirect_uri' is not valid. The expected value is 'https://login.live.com/oauth20_desktop.srf' or a URL which matches the redirect
Why do I keep receiving this error. I have the domain set in the windows live developer app
in the <head> element I have
<script src="//js.live.net/v5.0/wl.js"></script>
just below the <body> element I have
WL.init({
client_id: '{S_AL_WL_CLIENT_ID}', //{S_AL_WL_CLIENT_ID} = phpbb template variable for client_id
redirect_uri: '{AL_BOARD_URL}', //{AL_BOARD_URL} = phpbb template variable for the urlencoded domain name
response_type: 'token',
scope: ["wl.signin", "wl.basic", "wl.birthday", "wl.emails", "wl.work_profile", "wl.postal_addresses"]
});
the login button is
<div id="login">
<a href="#"><img src="images/windows_live_connect.png" alt="Windows Live" /></a>
</div>
the listener
jQuery('#login a').click(function(e)
{
e.preventDefault();
WL.login({
scope: ["wl.signin", "wl.basic", "wl.birthday", "wl.emails", "wl.work_profile", "wl.postal_addresses"]
}).then(function (response)
{
//do something with stuff here. You know brainy type ajaxy stuff to auth a user
},
function (responseFailed)
{
console.log("Error signing in: " + responseFailed.error_description);
});
});
The problem turned out that windows-live redirect_uri has to be exactly http://www.yourdomain.com
and not http://yourdomain.com
.
So if a user inputs http://yourdomain.com
then this error will show but if a user has http://www.yourdomain.com
then the script works.
I think I have been very spoilt with the Facebook Api.
So in the end I just made a regex to match against any url using the login button and force it to be www with .htaccess.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With