Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inventory authentication extension #2575

Closed
1 task done
jbrown-xentity opened this issue Dec 21, 2020 · 5 comments
Closed
1 task done

Inventory authentication extension #2575

jbrown-xentity opened this issue Dec 21, 2020 · 5 comments
Assignees
Labels
component/inventory Inventory playbooks/roles

Comments

@jbrown-xentity
Copy link
Contributor

jbrown-xentity commented Dec 21, 2020

User Story

As an inventory developer, I want a well defined authentication extension so that authentication is well documented, can be changed, and the logic is isolated for inventory.

Acceptance Criteria

  • GIVEN inventory web is running
    and the ckanext-inventory_auth extension is enabled
    WHEN an anonymous user requests any page other than a resource
    THEN the user is redirected to the login page (or equivalent)

Background

From research on inventory anonymous user seeing dataset pages in inventory-2.8

Security Considerations (required)

[Any security concerns that might be implicated in the change. "None" is OK, just be explicit here!]
Should contain tests to verify that pages and API is inaccessible

Sketch

We will want to create and store this extension in the inventory-app.
Utilize the CKAN documentation and previous extension work.
The original implementation of this is here, but behavior was inconsistent and some metadata was discoverable that was not intended. Use this as a starting point, but may need to implement access limitations for all CKAN actions except for resource viewing/download access.

@jbrown-xentity jbrown-xentity added the component/inventory Inventory playbooks/roles label Dec 21, 2020
@chris-macdermaid chris-macdermaid self-assigned this Dec 29, 2020
@chris-macdermaid
Copy link
Contributor

Ran into this open CKAN issue:
Chained auth functions lose anonymous access
ckan/ckan#5751

We can create a auth chain in the new extension for logged in users, but because of the open issue this won't work to allow anonymous users to see resources. There is an active open PR to fix this.

@pjsharpe07
Copy link
Contributor

pjsharpe07 commented Jan 6, 2021

Remaining steps for this ticket:

@pjsharpe07
Copy link
Contributor

We should be wary about the functionality of auth defaulting to an ip address if no user is found. We haven't seen this in local testing yet (default is an empty string). Leaving this here as an artifact.

@pjsharpe07
Copy link
Contributor

Google Sheet for current state of site access for anonymous vs logged in user

@adborden adborden changed the title Inventory Authentication Extension Inventory authentication extension Jan 9, 2021
@mogul
Copy link
Contributor

mogul commented Feb 4, 2021

@chris-macdermaid and @jbrown-xentity will be pairing through a review to get this one wrapped up.

@FuhuXia FuhuXia mentioned this issue Feb 8, 2021
1 task
@jbrown-xentity jbrown-xentity removed their assignment Feb 12, 2021
@mogul mogul added this to the Sprint 20210218 milestone Feb 18, 2021
@mogul mogul closed this as completed Feb 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/inventory Inventory playbooks/roles
Projects
None yet
Development

No branches or pull requests

4 participants