ionic3的Docusign JWT身份验证

时间:2020-06-25 10:16:30

标签: webpack ionic3 docusignapi

我正在尝试通过遵循https://developers.docusign.com/esign-rest-api/code-examples/code-example-embedded-signing

对ionic3应用实施Docusign JWT身份验证

这是我在页面中所做的:

import { DocuSign } from 'docusign-esign';

...

export class Page {
    async ngOnInit() {
        const tokenReplaceMin = 10, // The accessToken must expire at least this number of
            jwtLifeSec = 10 * 60, // requested lifetime for the JWT is 10 min
            scopes = "signature";

        let dsApi = this.docusign.ApiClient();

        dsApi.setOAuthBasePath('https://account-d.docusign.com');
        const results = await dsApi.requestJWTUserToken(this.client_id, this.impersonatedUserGuid, scopes, this.privateKey, jwtLifeSec);

        const expiresAt = moment().add(results.body.expires_in, 's').subtract(tokenReplaceMin, 'm');
        
        this.dsAccessToken = results.body.access_token;
        this.dsTokenExpiration = expiresAt;
       
        return {
           accessToken: results.body.access_token,
           tokenExpirationTimestamp: expiresAt
        };
    }
}

服务器启动后,出现以下错误:

Unhandled Promise rejection: Cannot find module "Configuration" ; Zone: angular ; Task: Promise.then ; Value: Error: Cannot find module "Configuration"
    webpackMissingModule index.js:14
    617 index.js:14
    617 index.js:19
    Webpack 27

调试器突出显示此行https://github.com/docusign/docusign-node-client/blob/master/src/index.js#L14

我认为这是webpack的导入问题。

1 个答案:

答案 0 :(得分:0)

离子是在其website上定义的:

...用于构建高性能,高质量的移动和桌面应用程序

这意味着您不应该使用JWT授权,因为在移动或台式机应用程序上无法保护秘密(或密钥)。

您应该改用Implicit Grant