亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

asp寫的openid登錄方法

2019-11-17 04:15:36
字體:
來源:轉載
供稿:網友

以前好像看到sipo說asp寫openid有些不能解決的問題,我也沒查openid的規范。
這個對付簡單的登錄還是沒問題的,不過代碼還沒測試。

先放上來,有興趣的可以看看


 <script language="JScript" runat="server">
/*
ASP Openid
by fisker
2008-9-3
*/
var alert=PRint=write=function(str){Response.Write(str);}
var openid = new fiskerOpenid();
var input=getInput();
if(input["openid.mode"]=="id_res"){
  var nickname = input["openid.sreg.nickname"];
  var email = input["openid.sreg.email"];
  var returnUrl=input["return"];
  returnUrl += returnUrl.indexOf("?")!=-1?"&":"?";
  returnUrl += "nickname="+nickname;
  returnUrl += "&email="+email;

  Response.Redirect(returnUrl);
}else{
  if(input["openid"]==""||input["return"]==""){
    Response.write("<sc"+"ript>");
    Response.write("alert(/"error/");");
    Response.write("window.history.forward(1);");
    Response.write("</sc"+"ript>");
    Response.end();
  }
 
  openid.url = input["openid"];
  openid.get();
}

function getInput(){
    var input=new Array();
    var e=new Enumerator(Request.QueryString);
    for (;!e.atEnd();e.moveNext()){
      x=e.item();
      input[String(x).toLowerCase()]=String(Request.QueryString(x));
    }
    e=new Enumerator(Request.Form);
    for (;!e.atEnd();e.moveNext()){
      x=e.item();
      input[String(x).toLowerCase()]=String(Request.Form(x));
    }
    return input;
}

function fiskerOpenid(){
  this.url="";
  this.server="";
  this.delegate="";
  this.user = null;
  this.trust_root="";
  this.return_to="";
  this.sreg_required="nickname,email";

  this.get = function(info){
    if(!this.init()){Response.write("error");return;}
    if(info!=undefined)this.sreg_required=info;
    var html=this.request(this.server,"openid.mode=associate&openid.assoc_type=HMAC-SHA1");
    if (html==""){Response.write("error");return;}
    var assoc_handle = "";
    var assoc_type = "";
    var expires_in = "";
    var mac_key = "";
    try{
      var re=new RegExp("assoc_handle:(.+)","ig");
      assoc_handle = re.exec(html)[1];
      var re=new RegExp("assoc_type:(.+)","ig");
      aassoc_type = re.exec(html)[1];
      var re=new RegExp("expires_in:(.+)","ig");
      expires_in = re.exec(html)[1];
      var re=new RegExp("mac_key:(.+)","ig");
      mac_key = re.exec(html)[1];
      delete re;
    }catch(e){}

    var url = this.server;
    url += url.indexOf("?")!=-1?"&":"?";
    url += "openid.mode="+Server.URLEncode("checkid_setup");
    url += "&openid.identity="+Server.URLEncode(this.delegate);
    url += "&openid.trust_root="+Server.URLEncode(this.trust_root);
    url += "&openid.return_to="+Server.URLEncode(this.return_to);
    url += "&openid.assoc_handle="+Server.URLEncode(assoc_handle);
    url += "&openid.sreg.required="+Server.URLEncode(this.sreg_required);

    Response.Redirect(url);
  }

  this.init = function(){
    if(!this.check()) return false;

    if(this.trust_root==""||this.return_to==""){
      var thisServer="";
      var thisUrl="";
      thisServer+=String(Request.serverVariables("https")).toLowerCase()=="off"?"http://":"https://";
      thisServer+=String(Request.serverVariables("server_name"));
      thisServer+=String(Request.serverVariables("server_port"))=="80"?"":":"+String(Request.ServerVariables("server_port"));
      thisUrl+=thisServer;
      thisUrl+=String(Request.serverVariables("URL"));
      thisUrl+=String(Request.QueryString)==""?"":"?"+String(Request.QueryString);
      this.trust_root=(this.trust_root==""?thisServer:this.trust_root);
      this.return_to=(this.return_to==""?thisUrl:this.return_to);
    }

    var html = this.request(this.url);
    if (html=="") return false;
    html=html.replace(//'/ig,"/"");
    var re=new RegExp("<link(.*?)rel=/"(.*?)/"(.*?)href=/"(.*?)/"(.*?)>","ig");
    var arr=[];
    while ((arrMatch = re.exec(html)) != null){
      var index=arrMatch[2].toLowerCase();
      var value=arrMatch[4];
      if(index.indexOf(" ")){
        for(var j=0;j<index.split(" ").length;j++)arr[index.split(" ")[j]]=value;
      }else{
        arr[index]=value;
      }
    }
    delete re;
    if(arr["openid.server"]!=""){
      this.server=arr["openid.server"];
    }else{
      return false;
    }
    this.delegate = arr["openid.delegate"]==undefined?this.url:arr["openid.delegate"];
    return true;
  }

  this.check = function(){
    if (this.url=="") return false;
    if(this.url.indexOf("://")==-1) this.url="http://"+this.url;
    return true;
  }

  this.request = function(url,data){
    if (data == undefined)var data = null;
    var method = data ? 'POST' : 'GET';
    var html="";
    try{
      var xmlhttp=Server.CreateObject("MSXML2.Serverxmlhttp.3.0");
      xmlhttp.open(method,url,false);
      xmlhttp.send(data);
        html = this.bytesToStr(xmlhttp.responseBody);
      delete xmlhttp;
    }catch(e){}
      return html;
    }

  this.bytesToStr = function(CodeBody){
    var objStream= Server.CreateObject("ado"+"db.stream") ;
    objStream.Type = 1 ;
    objStream.Mode =3 ;
    objStream.Open() ;
    objStream.Write(CodeBody);
    objStream.Position = 0 ;
    objStream.Type = 2 ;
    objStream.charset = "utf-8" ;
    var returnstr = objStream.ReadText;
    objStream.Close();
    delete objStream;
    return returnstr;
  }

}
</script>

作者:fisker


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线观看视频亚洲| 日韩精品在线观看一区二区| 欧美日韩亚洲国产一区| 亚洲午夜未满十八勿入免费观看全集| 中文字幕亚洲情99在线| 疯狂蹂躏欧美一区二区精品| 日韩毛片在线观看| 欧美在线影院在线视频| 亚洲视频777| 日韩视频在线一区| 中文字幕视频一区二区在线有码| 美女黄色丝袜一区| 国产精品视频免费在线| 这里只有精品在线播放| 欧美理论片在线观看| 亚洲美女精品成人在线视频| 国产精品pans私拍| 日韩在线视频一区| 丝袜美腿精品国产二区| 中文字幕免费精品一区高清| 色偷偷噜噜噜亚洲男人的天堂| 国产精品99蜜臀久久不卡二区| 国产精品一区二区三区毛片淫片| 欧美乱大交xxxxx另类电影| 欧美亚洲在线观看| 亚洲色在线视频| 日韩av不卡在线| 91国语精品自产拍在线观看性色| 91久久夜色精品国产网站| 久久亚洲精品小早川怜子66| 成人日韩在线电影| 九九精品在线观看| 91亚洲精品久久久| 国产激情视频一区| 久久人人97超碰精品888| 欧美国产亚洲精品久久久8v| 欧美成人久久久| 亚洲美女精品成人在线视频| 91精品国产91久久久久福利| 日韩电影在线观看永久视频免费网站| 中文字幕精品在线| 欧美精品电影在线| 久久综合九色九九| 亚洲一区二区三区四区在线播放| 亚洲一区二区三区四区视频| 久久九九精品99国产精品| 91精品啪在线观看麻豆免费| 91高清在线免费观看| 高清欧美一区二区三区| 亚洲欧美另类在线观看| 欧美乱大交xxxxx| 国产成人综合精品| 色综合色综合网色综合| 亚洲va欧美va国产综合久久| 国产成人欧美在线观看| 疯狂蹂躏欧美一区二区精品| 亚洲精品aⅴ中文字幕乱码| 日韩高清免费观看| 久久九九免费视频| 日韩av一区在线| 日韩在线视频播放| 色噜噜国产精品视频一区二区| 欧美性猛交丰臀xxxxx网站| 亚洲欧洲激情在线| 欧美视频在线观看免费网址| 国产成人短视频| 国内精品在线一区| 正在播放亚洲1区| 91在线高清视频| 欧美亚洲视频在线观看| 精品成人久久av| 久久久久成人网| 亚洲欧洲激情在线| 亚洲一区二区自拍| 国产精品视频yy9099| 色综合天天综合网国产成人网| 亚洲成av人乱码色午夜| 日韩中文在线观看| 欧美成人午夜激情视频| 久久精品国产99国产精品澳门| 色婷婷综合久久久久中文字幕1| 色综合久久精品亚洲国产| 亚洲国产成人在线视频| 欧美日韩精品二区| 日韩av大片免费看| 成人亚洲欧美一区二区三区| 国产精品高潮呻吟久久av无限| 久久久999成人| 久久香蕉国产线看观看av| 欧美理论电影网| 欧美电影免费观看高清完整| 久久91亚洲精品中文字幕| 欧美午夜激情小视频| 精品国产欧美一区二区五十路| 日韩精品丝袜在线| 久久九九国产精品怡红院| 中文字幕亚洲欧美在线| 亚洲大胆人体在线| 欧美精品在线第一页| 国产精品久久久久国产a级| 九九热这里只有精品免费看| 96精品久久久久中文字幕| 91福利视频网| 精品亚洲一区二区三区| 日韩欧美在线视频免费观看| 亚洲国产精品成人av| 一区国产精品视频| 午夜精品一区二区三区av| 最近中文字幕mv在线一区二区三区四区| 一区二区中文字幕| 国产精品高潮在线| 色播久久人人爽人人爽人人片视av| 97久久国产精品| 国产欧美日韩中文字幕| 日韩精品一二三四区| 2019中文字幕在线观看| 91国产美女在线观看| 亚洲网站视频福利| 亚洲欧洲偷拍精品| 国产亚洲福利一区| 亚洲欧美成人在线| 成人在线一区二区| 亚洲成人性视频| 欧美成人午夜剧场免费观看| 亚洲综合精品伊人久久| 一区二区三区国产视频| 日韩中文字幕第一页| 深夜福利国产精品| 欧美激情精品久久久久久免费印度| 亚洲国产精品va在看黑人| 成人免费福利在线| 精品二区三区线观看| 色综合伊人色综合网站| 中文国产成人精品久久一| 亚洲精品美女在线观看| 成人免费福利在线| 欧美激情免费视频| 欧美国产日韩免费| 欧美激情按摩在线| 国产精品久久久久久久久影视| 超碰91人人草人人干| 久久精品国产欧美亚洲人人爽| 精品国产一区二区在线| 中文字幕亚洲情99在线| 最新国产精品拍自在线播放| 9.1国产丝袜在线观看| 亚洲free性xxxx护士白浆| 色婷婷综合久久久久中文字幕1| 成人国产亚洲精品a区天堂华泰| 狠狠躁天天躁日日躁欧美| 国产小视频91| 国产亚洲精品美女久久久久| 精品国产欧美一区二区三区成人| 国内精品久久久久久| 午夜剧场成人观在线视频免费观看| 亚洲视频自拍偷拍| 国内偷自视频区视频综合| 日韩欧美亚洲综合| 亚洲精品久久久久久久久| 日本91av在线播放| 亚洲字幕一区二区| 欧美成人免费播放| 精品夜色国产国偷在线| 亚洲春色另类小说|