A simple, federated blogging platform. Written in Go. Fork by @gytisrepecka to provide suggestions and fixes to upstream @writeas.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
841 B

* Copyright © 2018 A Bunch Tell LLC.
* This file is part of WriteFreely.
* WriteFreely is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, included
* in the LICENSE file in this source code package.
package writefreely
// AuthenticateUser ensures a user with the given accessToken is valid. Call
// it before any operations that require authentication or optionally associate
// data with a user account.
// Returns an error if the given accessToken is invalid. Otherwise the
// associated user ID is returned.
func AuthenticateUser(db writestore, accessToken string) (int64, error) {
if accessToken == "" {
return 0, ErrNoAccessToken
userID := db.GetUserID(accessToken)
if userID == -1 {
return 0, ErrBadAccessToken
return userID, nil