123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package auth_test
- import (
- "fmt"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/net/http/blademaster/middleware/auth"
- "go-common/library/net/metadata"
- "go-common/library/net/rpc/warden"
- )
- // This example create a identify middleware instance and attach to several path,
- // it will validate request by specified policy and put extra information into context. e.g., `mid`.
- // It provides additional handler functions to provide the identification for your business handler.
- func Example() {
- authn := auth.New(&auth.Config{
- Identify: &warden.ClientConfig{},
- DisableCSRF: false,
- })
- e := bm.DefaultServer(nil)
- // mark `/user` path as User policy
- e.GET("/user", authn.User, func(ctx *bm.Context) {
- mid := metadata.Int64(ctx, metadata.Mid)
- ctx.JSON(fmt.Sprintf("%d", mid), nil)
- })
- // mark `/mobile` path as UserMobile policy
- e.GET("/mobile", authn.UserMobile, func(ctx *bm.Context) {
- mid := metadata.Int64(ctx, metadata.Mid)
- ctx.JSON(fmt.Sprintf("%d", mid), nil)
- })
- // mark `/web` path as UserWeb policy
- e.GET("/web", authn.UserWeb, func(ctx *bm.Context) {
- mid := metadata.Int64(ctx, metadata.Mid)
- ctx.JSON(fmt.Sprintf("%d", mid), nil)
- })
- // mark `/guest` path as Guest policy
- e.GET("/guest", authn.Guest, func(ctx *bm.Context) {
- mid := metadata.Int64(ctx, metadata.Mid)
- ctx.JSON(fmt.Sprintf("%d", mid), nil)
- })
- e.Run(":18080")
- }
|