Question

Using JQuery, how would I call a JSONP API that required basic authentication?

Can I programatically handle this, or does the user have to interact and enter the username and password into the logon dialog?

Was it helpful?

Solution

The JSONP request does not use the XMLHttpRequest Object / System. Hence there is no way to do this directly.

I tried several times the approach mentioned in FinnNk's answer, but finally gave up after reading this discussion on the JQuery mailing list.

Update

When I said "no way to do this directly", what I meant is:

  • You can't programmatically set the HTTP auth credentials (However, most browsers I have tested will prompt the user for credentials)
  • If you don't want the user to enter the credentials manually, you need to use a server to proxy your request. See this blog post for an excellent description and example.

OTHER TIPS

it is a little confusing since http://docs.jquery.com/Ajax/jQuery.getJSON doesn't have the same options as docs.jquery.com/Ajax/jQuery.ajax

the source code link is broken in the post referenced by @HRJ, try these:
https://github.com/bitly/oauth2_proxy
or
https://oauth.net/code/

EDIT: I did manage to find the (now outdated) source code:
https://code.google.com/archive/p/xdoauthproxy/

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top