跳转到内容

联邦 Keyless 集成指南

  1. 第 1 步:设置 IAM 提供商

    使用 IAM 设置项目,使其符合所需账户结构。

  2. 第 2 步:在链上注册 JSON Web Key Set(JWKS)

    联邦 Keyless 账户要求在链上注册 JWKS。

    要注册 JWKS,请使用一个 Aptos 账户调用 0x1::jwks::update_federated_jwk_set entry 函数。该账户将存储用于验证联邦 Keyless 账户签名交易的 JWK。

    JWK 集地址如下:

    AWS Cognito:https://cognito-idp.<region>.amazonaws.com/<userPoolId>/.well-known/jwks.json Auth0:https://<yourDomain>/.well-known/jwks.json

    TypeScript SDK 提供功能来简化此过程:给定 IAM 提供商设置的发行方(用户 JWT 中的 iss claim 值)和用于进行更新的账户即可。

    import {Aptos} from '@aptos-labs/ts-sdk'; // Requires version v1.29.1 or later
    const aptos = new Aptos(new AptosConfig({ network: Network.DEVNET })); // Configure your network here
    const alice = // Derive your Aptos account here
    const jwkTxn = await aptos.updateFederatedKeylessJwkSetTransaction({ sender: alice, iss });
    await aptos.signAndSubmitTransaction({ signer: alice, transaction: jwkTxn });

    可使用 SDK 提供的交互式示例,在 Devnet 或 Testnet 上轻松为 IAM 提供商注册 JWKS。该示例会使用 Google Keyless 账户设置 JWK 所有者账户。

    Terminal window
    git clone https://github.com/aptos-labs/aptos-ts-sdk
    cd aptos-ts-sdk
    pnpm install && pnpm build
    cd examples/typescript
    pnpm install
    pnpm jwk_update

    要在 Mainnet 上设置 JWK 所有者账户,需要创建账户并使用它注册 JWKS。

    请保存用于注册 JWKS 的账户地址,因为下一步需要使用它。

    有关 0x1::jwks::update_federated_jwk_set entry 函数的更多信息,请参阅参考文档

  3. 第 3 步:遵循 Aptos Keyless 集成指南

    注册 JWKS 后,可以从第 2 步开始遵循 Aptos Keyless 集成指南。派生 KeylessAccount 时,请务必将 jwkAddress 设置为用于注册 JWKS 的账户地址。

    Aptos Keyless 集成指南 - 第 2 步