-
Notifications
You must be signed in to change notification settings - Fork 383
/
sammy.oauth2-0.7.4.min.js
5 lines (5 loc) · 1.77 KB
/
sammy.oauth2-0.7.4.min.js
1
2
3
4
5
// -- Sammy.js -- /plugins/sammy.oauth2.js
// http://sammyjs.org
// Version: 0.7.4
// Built: 2013-01-27 13:34:14 -0500
(function(e){typeof define=="function"&&define.amd?define(["jquery","sammy"],e):(window.Sammy=window.Sammy||{}).OAuth2=e(window.jQuery,window.Sammy)})(function(e,t){return t.OAuth2=function(t){function n(e){var t=e.match(/#(.*)$/)[1],n=t.split("&"),r={},i,s=n.length;for(i=0;i<s;i+=1){var o=n[i].split("=");r[o[0]]=o[1].replace(/\+/g," ")}return r}t.use("JSON"),this.authorize="/oauth/authorize",this.helper("requireOAuth",function(e){if(!this.app.getAccessToken())return this.redirect(this.app.authorize+"?state="+escape(this.path)),!1;e&&e.apply(this)}),this.helper("loseAccessToken",function(){this.app.loseAccessToken()}),this.requireOAuth=function(e){this.before(e||{},function(e){return e.requireOAuth()})},this.getAccessToken=function(){return this.session("oauth.token")},this.setAccessToken=function(e){this.session("oauth.token",e),this.trigger("oauth.connected")},this.loseAccessToken=function(){this.session("oauth.token",null),this.trigger("oauth.disconnected")},e(document).ajaxSend(function(e,n){var r=t.getAccessToken();r&&n.setRequestHeader("Authorization","OAuth "+r)});var r;this.bind("run",function(e,t){r=t.start_url||"#",this.app.getAccessToken()&&this.trigger("oauth.connected")}),this.before(/#(access_token=|[^\\].*\&access_token=)/,function(e){var t=n(e.path);return this.app.setAccessToken(t.access_token),e.redirect(t.state.length===0?this.app.start_url:unescape(t.state)),!1}).get(/#(access_token=|[^\\].*\&access_token=)/,function(e){}),this.before(/#(error=|[^\\].*\&error=)/,function(e){var t=n(e.path),r=t.error_description||"Access denined";return e.trigger("oauth.denied",{code:t.error,message:r}),!1}).get(/#(error=|[^\\].*\&error=)/,function(e){})},t.OAuth2});