-
Notifications
You must be signed in to change notification settings - Fork 26
/
urls.go
34 lines (28 loc) · 1019 Bytes
/
urls.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package bertyvcissuer
import (
"encoding/base64"
"fmt"
)
const (
PathChallenge = "/challenge"
PathAuthenticate = "/authenticate"
PathProof = "/proof"
ParamBertyID = "berty_id"
ParamState = "state"
ParamRedirectURI = "redirect_uri"
ParamChallenge = "challenge"
ParamChallengeSig = "challenge_sig"
ParamCode = "code"
ParamContext = "context"
ParamCredentials = "credentials"
ParamIdentifier = "identifier"
)
func MakeAuthenticateURL(serverBaseRoot, flowCtxStr string) string {
return fmt.Sprintf("%s%s?%s=%s", serverBaseRoot, PathAuthenticate, ParamContext, flowCtxStr)
}
func MakeProofURL(serverBaseRoot, flowCtxStr string) string {
return fmt.Sprintf("%s%s?%s=%s", serverBaseRoot, PathProof, ParamContext, flowCtxStr)
}
func MakeRedirectSuccessURI(redirectURI, state string, credentials []byte) string {
return fmt.Sprintf("%s%s?%s=%s&%s=%s", redirectURI, PathProof, ParamState, state, ParamCredentials, base64.URLEncoding.EncodeToString(credentials))
}