A simple username/email and password solution seems like it'd solve authentication, but isn't that obvious?
Authorization depends totally on what your app actually needs, e.g., do different users have different roles? How fine-grained does the authorization need to be?