
在jsapi鉴权中,调用dd.config方法总是报errorCode: "9"
errorMessage: "无效的签名参数",不知道啥问题
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
JSAPI 鉴权设置方法
若无问题,稍后网络再试
mPaaS 建议所有的 JSAPI 访问都需要添加访问控制,目前可以通过设置 provider 的方式添加访问控制。
设置自定义权限控制 provider。
public class H5JSApiPermissionProviderImpl implements H5JSApiPermissionProvider {
    @Override
    public boolean hasDomainPermission(String jsapi, String url) {
        // 在该方法里,对所有url的jsapi请求进行校验,安全的url才可以放行,true表示jsapi可以调用,false表示不可以调用
        // 注意:以下代码仅供参考,请根据您实际的业务需要,对url和jsapi进行校验
        //  另外还需对 jsapi、url、uri 等参数进行判空操作,防止发生 Nullpointer 异常
        Uri uri = Uri.parse(url);
        String domain = uri.getHost();
        String scheme = uri.getScheme();
        if (!TextUtils.isEmpty(domain) && domain.equals("www.example.com") && "https".equals(scheme)) {
            return true;
        } else {
            return false;
        }
    }
    @Override
    public boolean hasThisPermission(String jsapi, String url) {
        // 默认返回 false 即可
        return false;
    }
}
URL 要进行精准匹配,至少要匹配到 URI 类的 scheme 和 host 信息,慎用或不用正则匹配,严格避免使用 contains、startsWith、endsWith、indexOf 等不精准函数。
在 mPaaS 初始化之后,调用容器之前,设置 provider。
H5Utils.setProvider(H5JSApiPermissionProvider.class.getName(), new H5JSApiPermissionProviderImpl());