开发者社区 问答 正文

调取js-api授权时报错求指教

已能运行到dd.ready里,但马上弹出错误 fail:{“errorMessage”:"null, err msg redirect_uri domain is not secure domain","errorCode":3}





<script type="text/javascript" src="../../js/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="https://g.alicdn.com/ilw/ding/0.6.6/scripts/dingtalk.js"></script>
    <script type="text/javascript" >
        dd.config({
            appId: '<%= appId%>',
            corpId: '<%= corpId%>',
            timeStamp: <%= timestamp%>,
            nonceStr: '<%= nonceStr%>',
            signature: '<%= signature%>',
            jsApiList: ['runtime.info',
        'biz.contact.choose',
        'device.notification.confirm',
        'device.notification.alert',
        'device.notification.prompt',
        'biz.ding.post']
        });
        dd.ready(function () {
            //dd.runtime.info({
            //    onSuccess: function (info) {
            //        alert('runtime info: ' + JSON.stringify(info));
            //    },
            //    onFail: function (err) {
            //        alert('fail: ' + JSON.stringify(err));
            //    }
            //});
            logger.i('dd.ready rocks!');
            dd.runtime.permission.requestAuthCode({
                corpId:  '<%= corpId%>',
                onSuccess: function (info) {
                    alert('authcode: ' + info.code);
                    $.ajax({
                        url: '../../Ajax/DingHandler.ashx?method=getuserinfo&code=' + info.code,
                        type: 'GET',
                        success: function (data, status, xhr) {
                                alert(data);
                        },
                        error: function (xhr, errorType, error) {
                            alert(errorType + ', ' + error);
                        }
                    });
                },
                onFail: function (err) {
                    alert('fail: ' + JSON.stringify(err));
                }
            });
        });


        dd.error(function (err) {
            alert('dd error: ' + JSON.stringify(err));
        });
    </script>

展开
收起
maxzheng 2016-01-12 18:01:50 6153 分享 版权
阿里云 AI 助理回答

根据您提供的错误信息,问题出在redirect_uri域名未被识别为安全域名,导致验证失败。错误代码为3。这意味着您在进行OAuth认证或者其他需要重定向授权的流程时,所使用的重定向URI没有被配置为安全领域,通常是由于协议不是HTTPS或者域名不在认证服务提供商的允许列表中。

为了解决这个问题,请按照以下步骤操作:

  1. 检查重定向URI

    • 确认您的redirect_uri是否以https://开头,确保使用的是安全的HTTPS协议。
  2. 域名安全设置

    • 如果您的域名托管在阿里云上,可以通过相关域名管理服务检查并配置域名的安全设置,确保其被标记为安全域名。
  3. 服务商白名单

    • 检查您所使用的API或认证服务提供商的文档,确认是否需要将您的重定向域名添加到白名单或已授权域名列表中。
  4. SSL证书配置

    • 确保您的域名已正确配置了有效的SSL证书,这不仅是解决当前问题的关键,也是提升网站整体安全性的必要步骤。您可以使用阿里云SSL证书服务来获取和部署SSL证书。
  5. 更新应用配置

    • 在确定域名安全配置无误后,如果问题依然存在,可能需要在您的应用或API客户端重新配置重定向URI,确保与安全设置匹配一致。

通过上述步骤,您应该能够解决“redirect_uri domain is not secure domain”的错误。如果问题仍然无法解决,建议直接联系您的服务提供商支持,提供详细的错误信息和您已采取的措施,以便获得更进一步的帮助。

请记得,确保所有涉及用户数据传输的操作都基于安全的HTTPS连接,这是保障用户数据安全的基本要求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答