Code Monkey home page Code Monkey logo

datawave-authorization-service's Introduction

Authorization Service

Apache License Build Status

The Authorization service provides basic authorization for all other datawave microservices. Authorization is a single endpoint that returns a signed JSON Web Token (JWT) that represents a list of DatawaveUser objects. Authorization may be performed by a trusted entity (i.e., a server) on behalf of another user or chain of servers leading to a user.

The Authorization service caches authorized users and also provides an administrative rest API to query and manage the cache.

Root Context

https://host:port/authorization/v1/


Authorization API

Method Operation Description Request Body
GET authorize Authorizes the calling user N/A
GET whoami Returns details about the calling user N/A

Admin API

Users must possess the Administrator role to access any of the admin methods.

Method Operation Description Request Body
DELETE admin/evictAll Deletes all users from the cache N/A
DELETE admin/evictUser Deletes the named user from the cache N/A
DELETE admin/evictUsersMatching Deletes users with names containing the supplied string from the authorization cache N/A
GET admin/listUsers Shows all users in the cache N/A
GET admin/listUser Retrieves the named user from the cache N/A
GET admin/listUsersMatching Retrieves users with names containing the supplied string from the authorization cache N/A

Getting Started

  1. First, refer to services/README for launching the config service.

  2. Launch this service as follows, with the mock profile to leverage test PKI materials and associated user configuration (see authorization-mock.yml).

    java -jar service/target/authorization-service*-exec.jar --spring.profiles.active=dev,mock
    
  3. Ensure that the testUser.p12 (password: ChangeIt) cert is imported into your browser, and then visit any of the following:

    See sample_configuration/authorization-dev.yml and configure as desired

datawave-authorization-service's People

Contributors

brianloss avatar ivakegg avatar cjmctague avatar keith-ratcliffe avatar

Forkers

thexdesk

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.