Understanding Authentication and Authorization in Software Development