Hey Anna!
Here's a pretty basic breakdown of what you would need to do to implement authentication:
• Create a custom User
• Use email address as key
• Have PasswordHash attribute
• Create a CreateUser handler
• Confirm email address is valid
• Confirm password is valid
• Hash password using bcrypt
• Create new User
• Save hash as PasswordHash attribute
• Save User
• Create cookie with UserID using gorilla/sessions
• Create a CheckPassword handler
• Look up User by email address
• Compare password to user.PasswordHash
• If PasswordHash matches create cookie with UserID
• When action is taken that requires Authentication check for cookie with UserID