Luke,signIn uses the Identity Manager to allow users to enter their credentials. The IdentityManager requires SSL because we don't want to send credentials via non-SSL channels. If you are in a development/testing machine that doesn't have a valid SSL certificate you can override the restriction using something like the code below to test the sign-in process. Just remember to remove this code before moving to a production environment.
dojo.addOnLoad(function() {
esri.config.defaults.io.proxyUrl = proxyUrl;
esri.id.setProtocolErrorHandler(function() {
// return true from this handler if you want to proceed anyway
// with the protocol mismatch
return window.confirm("This application is going to send your credentials across a non secure protocal. Proceed?");
});
});