锋翎文档
Go SDK高级话题

高级话题

高级配置与定制

高级话题

本章节介绍 SDK 的高级配置和定制选项。

子文档

自定义初始化

排除特定节点

你可以通过 exclude 参数排除不需要的初始化节点:

// 仅使用 OAuth2,排除 gRPC 客户端
nodes := bSdkStartup.NewStartupConfig("ssoClient")

// 排除 OAuth 配置(使用自定义 OAuth 配置)
nodes := bSdkStartup.NewStartupConfig("oAuthConfig", "oAuthRedirectURI")

可排除的节点

节点名称说明
oAuthConfigOAuth2 核心配置
oAuthRedirectURIOAuth2 重定向地址
ssoClientSsoClient gRPC 客户端

独立使用 Logic 层

你可以直接实例化 Logic 层,而不使用 SDK 提供的路由:

import bSdkLogic "github.com/phalanx-labs/beacon-sso-sdk/logic"

func customHandler(c *gin.Context) {
    ctx := c.Request.Context()

    // 使用 OAuthLogic
    oauthLogic := bSdkLogic.NewOAuth(ctx)

    // 使用 AuthLogic
    authLogic := bSdkLogic.NewAuth(ctx)

    // 使用 UserLogic
    userLogic := bSdkLogic.NewUser(ctx)

    // 使用 BusinessLogic
    businessLogic := bSdkLogic.NewBusiness(ctx)
}

直接使用 gRPC 客户端

如果不需要 OAuth2 功能,可以只使用 gRPC 客户端:

import bSdkClient "github.com/phalanx-labs/beacon-sso-sdk/client"

func main() {
    // 仅创建 gRPC 客户端
    client := bSdkClient.NewClient(
        bSdkClient.WithConnect("sso.example.com", "5566"),
        bSdkClient.WithAppAccess("app-id", "app-secret"),
    )

    // 使用 gRPC 服务
    client.Auth.PasswordLogin(ctx, req)
    client.User.GetCurrentUser(ctx, token)
    client.Merchant.GetMerchantTags(ctx, req)
}

On this page