mirror of
https://github.com/zitadel/oidc.git
synced 2026-01-18 17:20:13 -06:00
# Conflicts: # README.md # example/client/app/app.go # example/server/exampleop/op.go # example/server/main.go # pkg/client/client.go # pkg/client/rp/relying_party.go # pkg/client/rp/relying_party_test.go # pkg/client/tokenexchange/tokenexchange.go # pkg/crypto/key_test.go # pkg/oidc/token.go # pkg/oidc/verifier.go # pkg/op/auth_request.go # pkg/op/device.go # pkg/op/server_http_routes_test.go # pkg/op/token.go # pkg/op/token_refresh.go
34 lines
661 B
Go
34 lines
661 B
Go
package main
|
|
|
|
import (
|
|
"log/slog"
|
|
|
|
"github.com/zitadel/oidc/v4/pkg/crypto"
|
|
"github.com/zitadel/oidc/v4/pkg/op"
|
|
)
|
|
|
|
var _ op.Crypto = &myCrypto{}
|
|
|
|
// myCrypto demonstrates how to provide your custom implementation of op.Crypto.
|
|
type myCrypto struct {
|
|
key string
|
|
logger *slog.Logger
|
|
}
|
|
|
|
func newMyCrypto(key [32]byte, l *slog.Logger) *myCrypto {
|
|
return &myCrypto{
|
|
key: string(key[:32]),
|
|
logger: l,
|
|
}
|
|
}
|
|
|
|
func (m *myCrypto) Decrypt(s string) (string, error) {
|
|
m.logger.Info("decrypting")
|
|
return crypto.DecryptAES(s, m.key)
|
|
}
|
|
|
|
func (m *myCrypto) Encrypt(s string) (string, error) {
|
|
m.logger.Info("encrypting")
|
|
return crypto.EncryptAES(s, m.key)
|
|
}
|