Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-17398

Creating Generic Application Link without Incoming Authentication description will cause user profile OAuth Access Token page to return error

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 6.8.0
    • 5.9.7, 5.10-OD-13-001, 5.15.3
    • AppLinks
    • None

    Description

      Summary

      Attempting to load the OAuth Access Token page from User Profile will return NullPointerException for Generic Application Link

      Steps to Replicate

      1. Create an OAuth Generic Application Link in Bamboo
      2. Configure Incoming Authentication OAuth setting without description
      3. Create a user access token with the generic application
      4. Access the user OAuth Access Token page, e.g.: https://<INSTANCE_NAME>.atlassian.net/builds/plugins/servlet/oauth/users/access-tokens.

      Expected Results

      User access token is listed.

      Current Result

      The page returns error 500.
      The following error shown in atlassian-bamboo.log

      2016-03-14 10:54:25,297 ERROR [http-nio-8085-exec-15] [FiveOhOh] 500 Exception was thrown.
      java.lang.NullPointerException
      	at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet.parseUriFromDescription(AccessTokensServlet.java:217)
      	at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet.access$000(AccessTokensServlet.java:35)
      	at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet$TokenRepresentation.<init>(AccessTokensServlet.java:125)
      	at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet$1.apply(AccessTokensServlet.java:241)
      	at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet$1.apply(AccessTokensServlet.java:237)
      	at com.google.common.collect.Iterators$8.transform(Iterators.java:799)
      	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
      	at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:271)
      	at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:226)
      	at com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet.doGet(AccessTokensServlet.java:71)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      	at com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:37)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      	at com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:45)
      

      Workaround

      Delete the current OAuth Incoming Authentication configuration and recreate it again with description

      Note

      Perhaps it will be good to make the OAuth Incoming Authentication description field to be mandatory.

      Attachments

        Issue Links

          Activity

            People

              achystoprudov Alexey Chystoprudov
              vchin Vincent Chin (Inactive)
              Votes:
              5 Vote for this issue
              Watchers:
              18 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: