Form based is one option.
Basic is another.
In a nutshell (examples to follow), form based is sending key/value pairs to your webservice much like logging in with a webpage form.
Basic authentication is in found in the header (HTTP Request << Headers option), where the authenitcation is
username:password (Base 64 encodeed). You can also use:
request << Username("my username");
request << Password("my password");
instead of setting the header information directly for Basic.
You'd want both, if possible to be over https.
Typically, your webservice would set a cookie to manage subsequent requests.
If you use Basic, then it wouldn't be required as long as you set the header information with each request.
If you go the Passport option for the webservice, Passport acts a a mediator, it can digest form and Basic(and others) and do the back-end authorization that you want.
Most webservices, like Office 365, Google, Spotify, JMP Live use OAuth2 (not form-based or Basic), but that's due to external visibility of the sites (which add complexity). If it's an in-house behind your firewall, etc, basic or form-based using https is your simplest option, in my opinion.