Нет описания

app.js 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. angular.module('MyApp', ['ngResource', 'ngMessages', 'ngAnimate', 'toastr', 'ui.router', 'satellizer'])
  2. .config(function($stateProvider, $urlRouterProvider, $authProvider) {
  3. $stateProvider
  4. .state('home', {
  5. url: '/',
  6. controller: 'HomeCtrl',
  7. templateUrl: 'partials/home.html'
  8. })
  9. .state('login', {
  10. url: '/login',
  11. templateUrl: 'partials/login.html',
  12. controller: 'LoginCtrl',
  13. resolve: {
  14. skipIfLoggedIn: skipIfLoggedIn
  15. }
  16. })
  17. .state('signup', {
  18. url: '/signup',
  19. templateUrl: 'partials/signup.html',
  20. controller: 'SignupCtrl',
  21. resolve: {
  22. skipIfLoggedIn: skipIfLoggedIn
  23. }
  24. })
  25. .state('logout', {
  26. url: '/logout',
  27. template: null,
  28. controller: 'LogoutCtrl'
  29. })
  30. .state('profile', {
  31. url: '/profile',
  32. templateUrl: 'partials/profile.html',
  33. controller: 'ProfileCtrl',
  34. resolve: {
  35. loginRequired: loginRequired
  36. }
  37. });
  38. $urlRouterProvider.otherwise('/');
  39. $authProvider.facebook({
  40. clientId: '603122136500203'
  41. });
  42. $authProvider.google({
  43. clientId: '925504469943-ftfpddjifbiveu590geaegj3ei6ij9bh.apps.googleusercontent.com'
  44. });
  45. $authProvider.github({
  46. clientId: '0ba2600b1dbdb756688b'
  47. });
  48. $authProvider.linkedin({
  49. clientId: '77cw786yignpzj'
  50. });
  51. $authProvider.instagram({
  52. clientId: '799d1f8ea0e44ac8b70e7f18fcacedd1'
  53. });
  54. $authProvider.yahoo({
  55. clientId: 'dj0yJmk9OWtXdlJzQ05aZlVwJmQ9WVdrOU0yWjVZa2hJTm0wbWNHbzlNQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD1jYw--'
  56. });
  57. $authProvider.twitter({
  58. url: '/auth/twitter'
  59. });
  60. $authProvider.live({
  61. clientId: '000000004C12E68D'
  62. });
  63. $authProvider.twitch({
  64. clientId: 'qhc3lft06xipnmndydcr3wau939a20z'
  65. });
  66. $authProvider.bitbucket({
  67. clientId: '7jVUGppM2YabSdbdx8'
  68. });
  69. $authProvider.oauth2({
  70. name: 'foursquare',
  71. url: '/auth/foursquare',
  72. clientId: 'MTCEJ3NGW2PNNB31WOSBFDSAD4MTHYVAZ1UKIULXZ2CVFC2K',
  73. redirectUri: window.location.origin || window.location.protocol + '//' + window.location.host,
  74. authorizationEndpoint: 'https://foursquare.com/oauth2/authenticate'
  75. });
  76. function skipIfLoggedIn($q, $auth) {
  77. var deferred = $q.defer();
  78. if ($auth.isAuthenticated()) {
  79. deferred.reject();
  80. } else {
  81. deferred.resolve();
  82. }
  83. return deferred.promise;
  84. }
  85. function loginRequired($q, $location, $auth) {
  86. var deferred = $q.defer();
  87. if ($auth.isAuthenticated()) {
  88. deferred.resolve();
  89. } else {
  90. $location.path('/login');
  91. }
  92. return deferred.promise;
  93. }
  94. });