Authentication

Add authentication.
'Live' PR. More commits to follow.