开发者社区> 问答> 正文

钉钉升级

钉钉升级到4.0 内嵌微应用 重定向url指向内网的少了一截   ,4.0以下版本还能正常使用,
( 重定向url 在外网的系统还能正常使用)

展开
收起
luobenabc 2017-11-09 13:57:08 3140 0
2 条回答
写回答
取消 提交回答
  • 回 1楼(luobenabc) 的帖子
    多谢分享。
    请问这个是影响到方式一还是方式二的免登?方式一是web页扫码,方式二是嵌入式扫码。
    2017-11-10 14:04:51
    赞同 展开评论 打赏
  • Re钉钉升级
    升级成4.0的 钉钉回调有小问题  这个是我之前免登的http://192.168.100.11:18003/Rbac/E500  但是升级后 免登 回调会变成  http://192.168.100.11:18003/Rbac/E500&code=xxx,  回调地址改为ttp://192.168.100.11:18003/Rbac/E500?1=1可以正常使用了

    -------------------------

    回 2楼seahouse的帖子
            public ActionResult E500()
            {
                //页面初始载入判断是否已存登录用户
                if (string.IsNullOrEmpty(Request["code"]))
                {
                    //用户未登录,通过oauth授权去钉钉服务器拿取授权
                    //去拿授权成功后带着code与state的回调地址,可以是当前项目中的任意其它地址,这里使用当前页面
                    string redirecturi = Server.UrlEncode("http://192.168.100.11:18003/Rbac/E500?1=1");
                    //string redirecturi = Server.UrlEncode("http://192.168.100.11:18003/Rbac/E500");//4.0以下的版本返回时正常

                    //state 在 oauth中是为了随止跨站攻击的,所以回调之后一定要比较回调来的state与这个session["state]是否相等
                    //具体的是什么原理可以参考oauth中关于state的介绍
                    string state = Helper.state();
                    Session["state"] = state;
                    //这里的含义是说,我当前的网站没登录,我带着我的合法的认证(Config.SCorpId)去钉钉要一个当前登录用户分配的code,拿到这个code可以去换取当前的用户信息,来实现免登
                    string url = "https://oapi.dingtalk.com/connect/oauth2/authorize?appid=" + "xxxxx" + "&redirect_uri=" + redirecturi + "&response_type=code&scope=snsapi_base&state=" + state;            
                    Response.Redirect(url);
                }
                else
                {
                    string code = Request["code"].ToString();
    .....
    }}
    是其他方式  我微应用配置的直接跳转到这边  后面重定向返回那次参数拼接有问题

    2017-11-10 10:19:23
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载