精华内容
下载资源
问答
  • 求教web平台的自动登录方法: 有两个web平台A、B,平台A拥有平台B的登录账号,在平台A的某个页面点击超链接“使用平台B”,能够根据平台B的登录账号通过账号验证,自动登录到平台B。 注:平台B是第三方平台,不能...
  • 微信机器人、java代码模拟web微信登录
  • web 单一平台登录逻辑

    2019-09-28 09:01:46
    单点登录逻辑token=cookie('login_token');serverToken=get(token);if(serverToken!='注销'){ set('userid_已登录token','注销'); set(token,'登录'); cookie('login_token',token);}else{ 注销登录cookie; cooike('...

    单点登录逻辑
    token=cookie('login_token');
    serverToken=get(token);
    if(serverToken!='注销'){
    set('userid_已登录token','注销');
    set(token,'登录');
    cookie('login_token',token);
    }else{
    注销登录cookie;
    cooike('login_token',null);
    set(token,null);
    }

    转载于:https://www.cnblogs.com/zhudongchang/p/4807934.html

    展开全文
  • 最近写的登录页面。

    在这里插入图片描述最近写的登录页面。

    展开全文
  • socialmedia-leak, 一个用于大多数主流web平台的交叉源登录检测 你的社交媒体指纹如果没有许可,大多数主要的网站都会泄露,无论你是否登录。 这允许任何网站检测你在哪个平台上注册。 因为有很多具有特定统计数据的...
  •  web应用通过QQ登录授权实现第三方登录。   操作步骤  1 注册成为QQ互联平台开发者,http://connect.qq.com/  2 准备一个可访问的域名,如dev.foo.com  3 创建网页应用,配置必要信息,其中包括域名以及回调...

    应用场景

        web应用通过QQ登录授权实现第三方登录。
     

    操作步骤

        1  注册成为QQ互联平台开发者,http://connect.qq.com/
        2  准备一个可访问的域名,如dev.foo.com
        3  创建网页应用,配置必要信息,其中包括域名以及回调地址;
            其中域名需要验证,需确保对域名主机有足够的控制权限
        4  获取应用appID、appKey进行开发
     

    登录流程

        开发平台的登录授权采取oauth2.0机制,这也是目前几乎所有互联网开放平台所采取的方式。
     
        
     
        需更多了解oauth2.0可参考阮老师的文章: http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
     

    实现方式

        client-side
            流程:
            前端页面通过Implict方式 登录授权 -> 回调获得accessToken -> 获取openid -> 同步用户信息并登录
     
            为了保证数据安全,在获取用户信息并登录这一步必须由服务端实现。
            这种方式的开发相对便捷,也是后面的实战案例将要采取的方式。
     
        server-side
            流程:
            由server端页面跳转到登录授权页面(Authorization code方式) -> 回调获得code -> 置换accessToken -> 获取openid -> 同步用户信息并登录
     

    SDK使用

        JSSDK  可快捷实现前端登录授权的功能,可自定制登录按钮
            缺点:存在浏览器兼容风险,此外登录按钮UI的定制也存在受限
     
        JavaSDK  屏蔽了oauth授权的复杂度,方便后端实现授权及api操作
            缺点:增加依赖jar包,项目容易变得臃肿,尤其是当前项目已经存在oauth功能实现时可不必采用。
     
     

    案例实战

     
        功能描述
        clientside + server-side 通过QQ网页授权登录,并获取用户信息
     

        1  本地开发环境准备

            修改hosts文件将dev.foo.com映射到127.0.0.1;
            本地服务器以80端口启动, windows下可能会出现80端口被系统进程占用的情况,解决方法可参考 http://www.cnblogs.com/littleatp/p/4414578.html
            本地服务器启动后,以dev.foo.com的域名进行访问,在QQ登录授权时可通过域名验证这一步
     

        2  登录跳转页面

    复制代码
    复制代码
    <html>
         <head>
            <title>QQ登录跳转</title>
            <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
            
            <script type="text/javascript">
            
            //切割字符串转换参数表
            function toParamMap(str){
                 var map = {};
                 var segs = str.split("&");
                 for(var i in segs){
                     var seg = segs[i];
                     var idx = seg.indexOf('=');
                     if(idx < 0){
                         continue;
                     }
                     var name = seg.substring(0, idx);
                     var value = seg.substring(idx+1);
                     map[name] = value;
                 }
                 return map;
             }
            
            //隐式获取url响应内容(JSONP)
            function openImplict(url){
                var script = document.createElement('script');
                script.src = url;
                document.body.appendChild(script);        
            }
            
            //获得openid的回调
            function callback(obj)
            {
               var openid = obj.openid;
               $("#openid").text(openid);
               
               //跳转服务端登录url
               var resulturl = "@{openapi.QQs.login_result()}"; 
               var accessToken = $("#accessToken").text();
               
               //向服务端传输access_token及openid参数
               document.location.href=resulturl + "?access_token=" + accessToken + "&openid=" + openid;
            }
            
            
            </script>
         </head>
         
         <body>
                <p>AccessToken:<span id="accessToken"></span>--ExpireIn<span id="expire"></span></p>
                <p>OpenID:<span id="openid"></span></p>
         
         <!-- 执行脚本 -->
         <script type="text/javascript">
         
         //应用的APPID
         var appID = "101207268";
         
         //登录授权后的回调地址,设置为当前url
         var redirectURI = "@@{openapi.QQs.login()}";
    
         //初始构造请求
         if (window.location.hash.length == 0)
         {
            var path = 'https://graph.qq.com/oauth2.0/authorize?';
            var queryParams = ['client_id=' + appID,
                               'redirect_uri=' + redirectURI,
                               'scope=' + 'get_user_info,list_album,upload_pic,add_feeds,do_like','response_type=token'];
    
            var query = queryParams.join('&');
            var url = path + query;
            window.location.href= url;
         }
         //在成功授权后回调时location.hash将带有access_token信息,开始获取openid
         else
         {
            //获取access token
            var accessToken = window.location.hash.substring(1);
            var map = toParamMap(accessToken);
            
            //记录accessToken
            $("#accessToken").text(map.access_token);
            $("#expire").text(map.expires_in);
            
            //使用Access Token来获取用户的OpenID
            var path = "https://graph.qq.com/oauth2.0/me?";
            var queryParams = ['access_token='+map.access_token, 'callback=callback'];
            var query = queryParams.join('&');
            var url = path + query;
            openImplict(url);
         }
         
         </script>
         </body>
    </html>
    复制代码
    复制代码
            功能描述
            页面在第一次打开时跳转到QQ登录授权页面;
            授权成功之后回到当前页面通过url参数(hash串)获得accessToken;
            此后可通过jsonp方式获取用户的openid,url如:
    https://graph.qq.com/oauth2.0/me?access_token=YOUR_ACCESS_TOKEN
            获取到用户OpenID,返回包如下(JSONP方式获取):
    callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} )
             将access_token及openid传到服务端进行处理
     

       3  server端获取用户信息

         接收openid的页面方法
    复制代码
    复制代码
          /**
         * 登录结果
         *
         * @param access_token
         * @param openid
         */
        public static void login_result(String access_token, String openid) {
            //调用api获取qq用户信息
            QQUserInfo user = QQApi.getUserInfo(access_token, openid);
     
            //此时若取得user信息,则可以进行保存,并执行用户登录操作
            ....
            
            //登录成功后跳转
            redirect(xxx);
        }
    复制代码
    复制代码

     

        QQApi的实现 
    复制代码
    复制代码
    /**
     * QQ互联API
     * 
     * <pre>
     * 登录流程:
     * 
     * 1 前端跳转qq授权页面
     * 2 js获得access_token
     * 3 通过jsonp方式获得openid
     * 4 server端根据上传的access_token及openid获取用户信息,如昵称、头像
     * 
     * 参考文档:
     * http://wiki.connect.qq.com/%E5%BC%80%E5%8F%91%E6%94%BB%E7%95%A5_client-side#Step2.EF.BC.9A.E8.8E.B7.E5.8F.96AccessToken
     * </pre>
     * 
     * @author xxx
     * @createDate 2015年3月10日
     * 
     */
    public class QQApi {
    
        public static String appId = "xxx";
        public static String appSecret = "xxx";
    
        public static String baseUrl = "https://graph.qq.com";
    
        protected static final String URL_GET_USERINFO = baseUrl
                + "/user/get_user_info?access_token=%s&oauth_consumer_key=%s&openid=%s";
    
        protected static final long ACCESS_TIMEOUT = 15;
    
        protected static final String DEF_APP_TOKEN_EXPIRE = "3h";
    
        /**
         * 获取用户信息
         * 
         * <pre>
         * http://wiki.connect.qq.com/get_user_info
         * 
         * 
         * 调用地址:
         * https://graph.qq.com/user/get_user_info
         * 参数
         *   access_token=*************&
         *   oauth_consumer_key=12345&
         *   openid
         * 
         * 返回结果如下:
         * {
         *     "ret": 0,
         *     "msg": "",
         *     "is_lost": 0,
         *     "nickname": "小吞",
         *     "gender": "女",
         *     "province": "广东",
         *     "city": "广州",
         *     "year": "1993",
         *     "figureurl": "http://qzapp.qlogo.cn/qzapp/101207268/982C9FEADAF7B242C5069B8F390784BF/30",
         *     "figureurl_1": "http://qzapp.qlogo.cn/qzapp/101207268/982C9FEADAF7B242C5069B8F390784BF/50",
         *     "figureurl_2": "http://qzapp.qlogo.cn/qzapp/101207268/982C9FEADAF7B242C5069B8F390784BF/100",
         *     "figureurl_qq_1": "http://q.qlogo.cn/qqapp/101207268/982C9FEADAF7B242C5069B8F390784BF/40",
         *     "figureurl_qq_2": "http://q.qlogo.cn/qqapp/101207268/982C9FEADAF7B242C5069B8F390784BF/100",
         *     "is_yellow_vip": "0",
         *     "vip": "0",
         *     "yellow_vip_level": "0",
         *     "level": "0",
         *     "is_yellow_year_vip": "0"
         * }
         * </pre>
         * 
         * @param accessToken
         * @return
         */
        public static QQUserInfo getUserInfo(String accessToken, String openid) {
            if (StringUtils.isEmpty(accessToken) || StringUtils.isEmpty(openid)) {
                return null;
            }
    
            String url = String.format(URL_GET_USERINFO, accessToken, appId, openid);
    
            String resultString = DefaultHttp.get(url, ACCESS_TIMEOUT, GlobalConstants.UTF_8);
    
            Logger.debug("[sso-qq]get userinfo. use url '%s'", url);
    
            QQUserInfo userinfo = JsonUtil.fromJson(resultString, QQUserInfo.class);
            if (userinfo == null || !userinfo.hasGot()) {
                Logger.debug("[sso-qq]get userinfo failed, with result of '%s'", resultString);
                return null;
            }
    
            Logger.debug("[sso-qq]get userinfo success, with result of '%s'", resultString);
            return userinfo;
        }
    复制代码
    复制代码
     

    常见问题

     
    网页跳转提示 "redirect_uri_mismatch"
            通常是应用配置中的域名与当前开发服务器访问地址不一致导致,参照案例中的本地开发环境准备小节
     
    api调用返回错误
            查看返回的ret字段,对于非0值的ret则表示异常结果,可通过以下地址查询错误原因:
     
    接口调用过于频繁或超过限制
            应用系统可做好access_token的存储,此外对于用户数据(昵称、头像)也做好缓存或持久化,以减少接口的调用频度。
     
    展开全文
  • Web平台登录界面  Web平台首页  Web平台部分单据

                                                                                             Web平台登录界面

                                                                                      Web平台首页

                                                                                      Web平台部分单据

     欢迎学习交流:hqx_0324@163.com QQ:121366901.

     

    展开全文
  • springboot实现web端微信扫码登录项目(基于微信开放平台
  • 开放平台-web实现QQ第三方登录

    千次阅读 2017-05-10 09:15:20
     web应用通过QQ登录授权实现第三方登录。   操作步骤  1 注册成为QQ互联平台开发者,http://connect.qq.com/  2 准备一个可访问的域名,如dev.foo.com  3 创建网页应用,配置必要信息,其中包括域名以及
  • 这篇文章给大家分享一下微信的web第三方登录 首先说明一下,此处登录时微信开放平台的第三方登录,和微信公众平台不一样,两个平台貌似是两拨人开发的,虽然双方最后的用户唯一标识都是openId,但是是不互通的。...
  • web应用通过人人网登录授权实现第三方登录。 操作步骤 1 注册成为人人网开放平台开发者 http://app.renren.com/developers/devinfo 2 准备一个可访问的域名,如dev.foo.com 3 创建网页应用,配置必要信息,...
  • 登录请求表单数据 密钥与加密密码均为Base64编码 常见加密: 1)数据加密标准(DES Data Encryption Standard):DES(密钥长度64位)(ECB模式) 2)分组密码算法:AES(密钥长度在128位及以上)(GCM或...
  • 原先,这款应用只支持Android平台,许多喜欢它的iOS用户只能羡慕嫉妒恨。现在,这一情况即将改观,开发者团队宣布,Any.DO即将登陆iPhone,也将成为Web(Chrome浏览器)应用。 以下是Any.Do的特点: 1.Any....
  • 打开localhost:8080链接,进入kb-dms数据库管理平台首页 页面自动跳转到登录页面 点击登录框,右上角的按钮,页面跳转到注册页面 注册成功后,页面自动跳转到登录页面 输入注册的账号密码,点击回车键(或登录按钮)...
  • SecureLogin:一个全平台的安全登录方案,支持Web,桌面客户端(Electron实现)、移动客户端(Cordova实现)
  • 一、web服务端介绍 Tornado+Vue+Mysql+APScheduler+Nginx+Supervisor 1. 架构图 2. 功能展示 2.1 登录页面 2.2 仪表盘 2.3 主机状态 2.4 攻击列表 2.5 过滤列表 2.6 邮件配置 2.7 白名单ip 二、安装方式 可以选择...
  • 登录要测试的平台系统 查看fiddler抓包结果,找到login这条记录,观察请求头,观察发现请求发送的参数一共有三个“loginname”,“pwd”,“lang” 在jmeter中添加HTTP信息头管理器,模拟登录中发送的请求头录入请求头...
  • 前一段时间,使用Web Intelligence胖客户端做报表,登录时的时候报告“登录失败”,但使用使用浏览器登录BOE/BI及CMC都没问题,而且Universe Designer登录也正常,唯独胖客户端登录有问题,上网查了很久都没有找到...
  • 锁链者 ChainKeeper是一个Web应用程序,用于为用户探索和分析区块链数据。 这是一个基于Web的应用程序,适用于希望与BlockSci进行交互以分析区块链中的区块链数据的...Chain-Kleaner-污染分析平台 安装 $ cd Chai
  • CZTZ-JavaEE Web应用开发平台与CAS的单点登录产品进行了集成,CAS单点登录产品的默认的认证类是SimpleTestUsernamePasswordAuthenticationHandler,这个类的实现是当用户名和口令相等时认证通过,所以这个类肯定不能在...
  • 不同web应用登录方案

    2015-02-12 18:42:00
    最近做新的web应用, 要求可以用其他系统的账号登录,如老系统的单点登录,第三方平台登录情况,于是我从新梳理一下从最简单服务器登录到复杂的情况: 1. 单台服务器 1 原始服务器自动做的 浏览器第一次请求时,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,648
精华内容 1,059
关键字:

web平台登录