Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

sammy.oauth2-0.7.6.min.js 2.1KB

12345
  1. // -- Sammy.js -- /plugins/sammy.oauth2.js
  2. // http://sammyjs.org
  3. // Version: 0.7.6
  4. // Built: 2014-08-26 10:45:33 +0300
  5. (function(factory){if(typeof define==="function"&&define.amd){define(["jquery","sammy"],factory)}else{(window.Sammy=window.Sammy||{}).OAuth2=factory(window.jQuery,window.Sammy)}})(function($,Sammy){Sammy.OAuth2=function(app){app.use("JSON");this.authorize="/oauth/authorize";this.helper("requireOAuth",function(cb){if(this.app.getAccessToken()){if(cb){cb.apply(this)}}else{this.redirect(this.app.authorize+"?state="+escape(this.path));return false}});this.helper("loseAccessToken",function(){this.app.loseAccessToken()});this.requireOAuth=function(options){this.before(options||{},function(context){return context.requireOAuth()})};this.getAccessToken=function(){return this.session("oauth.token")};this.setAccessToken=function(token){this.session("oauth.token",token);this.trigger("oauth.connected")};this.loseAccessToken=function(){this.session("oauth.token",null);this.trigger("oauth.disconnected")};$(document).ajaxSend(function(evt,xhr){var token=app.getAccessToken();if(token){xhr.setRequestHeader("Authorization","OAuth "+token)}});function parseParams(path){var hash=path.match(/#(.*)$/)[1];var pairs=hash.split("&"),params={};var i,len=pairs.length;for(i=0;i<len;i+=1){var splat=pairs[i].split("=");params[splat[0]]=splat[1].replace(/\+/g," ")}return params}var start_url;this.bind("run",function(evt,params){start_url=params.start_url||"#";if(this.app.getAccessToken()){this.trigger("oauth.connected")}});this.before(/#(access_token=|[^\\].*\&access_token=)/,function(context){var params=parseParams(context.path);this.app.setAccessToken(params.access_token);context.redirect(params.state.length===0?this.app.start_url:unescape(params.state));return false}).get(/#(access_token=|[^\\].*\&access_token=)/,function(context){});this.before(/#(error=|[^\\].*\&error=)/,function(context){var params=parseParams(context.path);var message=params.error_description||"Access denined";context.trigger("oauth.denied",{code:params.error,message:message});return false}).get(/#(error=|[^\\].*\&error=)/,function(context){})};return Sammy.OAuth2});