       success: no
   # Create a runner to control the dependencies in the asynchronous processes.
   runner = new utils.Runner()
-  if service.oauth? and service.isOAuthEnabled()
-    runner.push service.oauth, 'authorize', ->
-      runner.next()
   for own placeholder, url of map
     do (placeholder, url) ->
       runner.push null, ->
-        oauth  = no
+        oauth  = !!service.oauth?.hasToken()
         params = service.getParameters(url) or {}
         # Build the HTTP request for the URL shortener service.
         xhr = new XMLHttpRequest()
         xhr.open service.method, "#{endpoint}?#{$.param params}", yes
         xhr.setRequestHeader 'Content-Type', service.contentType
         # Setup OAuth for the request when required.
-        if service.oauth and service.isOAuthEnabled()
-          oauth = yes
+        if oauth
           xhr.setRequestHeader 'Authorization',
             service.oauth.getAuthorizationHeader(endpoint,
               service.method, params)

    bitly.username ?= ''
  store.modify 'googl', (googl) ->
    googl.enabled ?= yes
    googl.oauth   ?= yes
    googl.usage   ?= 0
  store.modify 'yourls', (yourls) ->
    yourls.enabled   ?= no

  name: 'yourls'
  output: (resp) ->
    JSON.parse(resp).shorturl
  title: i18n.get 'shortener_yourls'
  url: ->
    store.get 'yourls.url'
]
