Project

General

Profile

Actions

bug #6248

closed

allow machine clients to access /manage/* OAuth2 protected web services

Added by Andreas Kohlbecker over 7 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Highest
Category:
cdmlib-remote
Target version:
Start date:
Due date:
% Done:

50%

Estimated time:
Severity:
blocker
Found in Version:

Description

The creation of the lucene indexes can not be triggered from Jenkins jobs or from the dataportal settings pages, since the /manage/ web services requires authentication.

The best solution to this problem is to allow the definition of global management user accounts which apply to any cdm-remote instance started by a system user.
These users credentials must therefore not be stored in the cdm databases. To store them independently from the cdm instances a configuration file located in $HOME/.cdmLibrary is the preferred storage solution.


Old issue description:

The authorization problem in the dataportal will be solved as soon as the oauth2 client capabilities are implemented into the data portal module: #6332. In case of jenkins it is not possible to provide proper cdm user credentials for each of the instances to be indexed. In this case another grand type is needed.
For this service endpoint it must me possible to authorite via the OAuth2 grant type 'client' (https://tools.ietf.org/html/rfc6749#section-4.4).

TODO:

  • enable grant type 'client' for /manage/
  • check for valid clients based on a key. The allowed keys are stored in $USER_HOME/cdm-remote-client-keys` each in a separate line. A key must conform to a md5 hash (or UUID?).
  • provide script for jenkins to authenticate --> subticket
  • implement client authentication into the dataportal. This should be doable by making use of the OAuth2 plugin available for Drupal7, see #6118 --> subticket

Related issues

Related to EDIT - task #6118: evaluate spring-security-auth2 and spring-cloud-security as a framework for OAuth2ClosedAndreas Kohlbecker

Actions
Related to EDIT - bug #7087: description/accumulateDistributions webservice can not be triggeredWorksformeAndreas Kohlbecker

Actions
Precedes (10 days) EDIT - bug #6382: option to supply user credentials in the admin setting for the freetext index triggersClosedAndreas Kohlbecker

Actions
Copied from EDIT - feature request #6351: jenkins cdmserver-index-job.groovy supports http basic authentication ClosedAndreas Kohlbecker

Actions
Actions #1

Updated by Andreas Kohlbecker over 7 years ago

  • Related to task #6118: evaluate spring-security-auth2 and spring-cloud-security as a framework for OAuth2 added
Actions #2

Updated by Andreas Kohlbecker over 7 years ago

  • Priority changed from New to Highest
Actions #3

Updated by Andreas Kohlbecker over 7 years ago

  • Description updated (diff)
Actions #4

Updated by Andreas Kohlbecker over 7 years ago

  • Subject changed from allow OAuth2 grant type 'client' for /manage/ web services to allow machine clients to access /manage/* OAuth2 protected web services
  • Description updated (diff)

oauth2 with grant type 'client' is not really needed. It would require that the client can authenticate with username and login in order to get a token from the oauth2 token service. But ability to login alone would be sufficient to solve the initial issue of this ticket.

I am changing the ticket subject and description accordingly.

Actions #5

Updated by Andreas Kohlbecker over 7 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 50
Actions #6

Updated by Andreas Kohlbecker about 7 years ago

  • Copied from feature request #6351: jenkins cdmserver-index-job.groovy supports http basic authentication added
Actions #7

Updated by Andreas Kohlbecker about 7 years ago

  • Status changed from Resolved to Closed

This perfectly works, the managing-users.properties are all edited so that they have an according user.

Actions #8

Updated by Andreas Müller about 7 years ago

  • Tracker changed from bug to feature request
Actions #9

Updated by Andreas Kohlbecker about 7 years ago

  • Tracker changed from feature request to bug
Actions #10

Updated by Andreas Kohlbecker about 7 years ago

  • Precedes bug #6382: option to supply user credentials in the admin setting for the freetext index triggers added
Actions #11

Updated by Andreas Kohlbecker over 6 years ago

  • Related to bug #7087: description/accumulateDistributions webservice can not be triggered added
Actions #12

Updated by Andreas Kohlbecker about 3 years ago

  • Tags changed from security to security, OAuth2
Actions

Also available in: Atom PDF