2019-10-07 08:14:47 -06:00
|
|
|
// Copyright (c) Mainflux
|
2018-08-26 13:15:48 +02:00
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
2018-05-10 23:53:25 +02:00
|
|
|
// Package jwt provides a JWT identity provider.
|
2017-09-23 01:03:27 +02:00
|
|
|
package jwt
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
jwt "github.com/dgrijalva/jwt-go"
|
2018-05-10 23:53:25 +02:00
|
|
|
"github.com/mainflux/mainflux/users"
|
2017-09-23 01:03:27 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
issuer string = "mainflux"
|
|
|
|
duration time.Duration = 10 * time.Hour
|
|
|
|
)
|
|
|
|
|
2018-05-10 23:53:25 +02:00
|
|
|
var _ users.IdentityProvider = (*jwtIdentityProvider)(nil)
|
2017-09-23 01:03:27 +02:00
|
|
|
|
|
|
|
type jwtIdentityProvider struct {
|
|
|
|
secret string
|
|
|
|
}
|
|
|
|
|
2018-03-11 18:06:01 +01:00
|
|
|
// New instantiates a JWT identity provider.
|
2018-05-10 23:53:25 +02:00
|
|
|
func New(secret string) users.IdentityProvider {
|
2018-04-10 17:30:13 +02:00
|
|
|
return &jwtIdentityProvider{secret}
|
2017-09-23 01:03:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
func (idp *jwtIdentityProvider) TemporaryKey(id string) (string, error) {
|
|
|
|
now := time.Now().UTC()
|
|
|
|
exp := now.Add(duration)
|
|
|
|
|
|
|
|
claims := jwt.StandardClaims{
|
|
|
|
Subject: id,
|
|
|
|
Issuer: issuer,
|
|
|
|
IssuedAt: now.Unix(),
|
|
|
|
ExpiresAt: exp.Unix(),
|
|
|
|
}
|
|
|
|
|
|
|
|
return idp.jwt(claims)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (idp *jwtIdentityProvider) Identity(key string) (string, error) {
|
|
|
|
token, err := jwt.Parse(key, func(token *jwt.Token) (interface{}, error) {
|
|
|
|
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
2018-05-10 23:53:25 +02:00
|
|
|
return nil, users.ErrUnauthorizedAccess
|
2017-09-23 01:03:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return []byte(idp.secret), nil
|
|
|
|
})
|
|
|
|
|
|
|
|
if err != nil {
|
2018-05-10 23:53:25 +02:00
|
|
|
return "", users.ErrUnauthorizedAccess
|
2017-09-23 01:03:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if claims, ok := token.Claims.(jwt.MapClaims); ok && token.Valid {
|
MF-532 - Password reset (#873)
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token methods
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* token and passwd update logic
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize mailing code
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add comments for password reset flow
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change struct members to private
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix imports and some typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding swagger docs for reset passw
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding test for endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change token generation
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize and change token gen
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint token and mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token env
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix error reporting
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problmes due merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typos
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add trusted certificates
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add endpoint for password change of currently authenticated user
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add metadata to users
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add default value for metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* when metadata is not set dont save 'null' string
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change metadata type, add error handling
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove extra char
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* few small fixes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix identityRes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add users metadata
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* password reset, sketching
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reset request endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding token endpoints
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding reset passw endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add logic for token verifying
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove mail from main
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small changes
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add space
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert back changes used for testing
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize endpoints, extract host for link from Referer
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* addint test and update swagger for pass reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* adding endpoint test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix some comments and update readme
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env variable for conf reset endpoint
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving some style comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* minor fixes due to bad merge
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix problem with unsigned commits
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix call to users.New
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* rename to email.go
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* additional comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email util
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove debug bin
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add driver conf for mail
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* refactor email
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix failing tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add testify
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add token conf
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* configurable email template
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix missing var
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add env for email template file
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix tests
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix test
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* revert to master
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove dev container
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fixes, typos, namings
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* fix typo
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* resolving comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* return err from email New()
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* change MF_TOKEN_RESET_ENDPOINT
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* add and remove env vars
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* separate password logic into two methods Change and Reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update comments
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* remove blank line
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* update docs
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* dont use camel case
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* small fix
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
* reorganize email template for passw reset
Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
2019-10-22 14:53:14 +02:00
|
|
|
if sub := claims["sub"]; sub != nil {
|
|
|
|
return sub.(string), nil
|
|
|
|
}
|
2017-09-23 01:03:27 +02:00
|
|
|
}
|
|
|
|
|
2018-05-10 23:53:25 +02:00
|
|
|
return "", users.ErrUnauthorizedAccess
|
|
|
|
}
|
|
|
|
|
|
|
|
func (idp *jwtIdentityProvider) jwt(claims jwt.StandardClaims) (string, error) {
|
|
|
|
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
|
|
|
|
return token.SignedString([]byte(idp.secret))
|
2017-09-23 01:03:27 +02:00
|
|
|
}
|