Skip to main content

SSO Bridge Java SDK

Tích hợp server side

  • Hỗ trợ ứng dụng kiểm tra phiên đăng nhập của người dùng

Xem thêm về mã nguồn

1. Sơ đồ hoạt động

Đây là sequence diagram mô tả cách người dùng đăng nhập vào hệ thống và cách hệ thống xác thực người dùng

work-flow

2. Cấu hình và dependency

Thêm các thông tin sau vào file pom.xml

  • repository
      <repository>
    <id>nexus</id>
    <name>nexus</name>
    <url>https://nexus-repo.vnggames.app/repository/maven-public/</url>
    </repository>
  • dependency
      <dependency>
    <groupId>vn.vng.ge.ecn</groupId>
    <artifactId>ecn-java-sdk</artifactId>
    <version>1.0.2</version>
    </dependency>

Thêm cấu hình sau vào file config

ecn-sso-bridge:
serviceId: vnggames.app
apiKey: vnggames.app
secretKey: 2b0b54e5a52626ae8bf94
ssoURI: https://test-sso.vnggames.app
  • serviceId, apiKey, secretKeyssoURI: Thông tin được cấp khi đăng ký với hệ thống GG ID

Cài đặt bean EcnJavaSdkInitializer

@Configuration
@Import({EcnJavaSdkInitializer.class})
public class AppConfiguration {
}

Các hàm được hỗ trợ nằm trong SSOBridgeClient

public interface SSOBridgeClient {
VerifySharedSessionResponse verifySharedSession(VerifySharedSessionRequest request)
throws NoSuchAlgorithmException;
}

3. Kiểm tra phiên đăng nhập

Kiểm tra phiên đăng nhập hiện tại của người dùng trên domain của service.

public interface SSOBridgeClient {
VerifySharedSessionResponse verifySharedSession(VerifySharedSessionRequest request)
throws NoSuchAlgorithmException;
}

_Thông tin dữ liệu đầu vào VerifySharedSessionRequest:

  • sharedSession: Giá trị cookie shared_ecn_session từ web domain cookie
  • currentTimestamp: UTC timestamp. Thời gian hiện tại theo millisecond.

Kết quả nhận được

  • Nếu thành công sẽ trả về thông tin ggId

  • Nếu thất bại sẽ throw exception:

    • HttpServerErrorException: Server Error
    • UnauthorizedException: Invalid session hoặc session đã hết hạn
    • ForbiddenException: service_id hoặc api-key không hợp lệ
    • InvalidArgumentException: sign bị sai hoặc yêu cầu bị quá thời gian

Demo

Tham khảo ứng dụng demo

Tham khảo mã nguồn demo tích hợp phía server side

Tham khảo mã nguồn SSO Bridge Java SDK

Nếu muốn sử dụng trực tiếp các API bên phía GG hỗ trợ trong trường hợp sử dụng khác ngôn ngữ Java, có thể tham khảo thêm tại SSO Bridge API

Nhật ký thay đổi phiên bản

Theo dõi thay đổi của từng phiên bản tại đây.

Hỗ trợ

Nếu có thắc mắc trong quá trình tích hợp, bạn có thể liên hệ trực tiếp qua email BaoNQ3 để được trợ giúp.

Thông tin và bài viết liên quan