Skip to content

MOSIP-44567: Validate MISP Partner Status and MISP License Key Before Executing Authentication #1719

Description

@Ivanmeneges

User Story:
As IDA, I want to validate both the MISP Partner status and the associated MISP License Key before processing authentication requests, So that authentication is executed only when both the partner and license key are active and valid.

Description:
Partners onboarded through MISP invoke authentication services in IDA using a valid MISP License Key associated with the partner. Before executing authentication, IDA must validate:

  1. MISP Partner status

  2. MISP License Key status

Authentication should be processed only when both the MISP Partner and the MISP License Key are active and valid.

If either the MISP Partner is inactive/deactivated or the MISP License Key is inactive/invalid/expired, IDA must reject the authentication request and return an appropriate error response.

This ensures that authentication services are accessed only by authorized and valid partners with active licenses, enforcing proper partner and license lifecycle management.

Acceptance Criteria:

  1. MISP Partner Status Validation
    #* Given a partner is registered as a MISP Partner
    #* When an authentication request is received
    #* Then IDA should validate that the MISP Partner status is Active.

  2. MISP License Key Validation
    #* Given the authentication request includes a MISP License Key
    #* When IDA processes the request
    #* Then IDA should validate that the license key is active and valid.

  3. Successful Authentication Execution
    #* Given the MISP Partner is Active
    #* And the MISP License Key is Active and valid
    #* When an authentication request is received
    #* Then IDA should proceed with executing the authentication flow.

  4. Reject Request if Partner is Deactivated
    #* Given the MISP Partner is Deactivated
    #* When an authentication request is received
    #* Then IDA should reject the request.

  5. Reject Request if License Key is Invalid or Inactive
    #* Given the MISP License Key is inactive, invalid, or expired
    #* When an authentication request is received
    #* Then IDA should reject the authentication request.

  6. Error Handling
    #* When authentication is rejected due to invalid partner status or license key
    #* Then IDA should return an appropriate error message indicating the reason for failure.

  7. Audit Logging
    #* When authentication fails due to MISP partner or license key validation failure
    #* Then IDA should log the partner ID, license key, timestamp, and reason for rejection.

Alternate Flows:

  1. MISP Partner Active but License Key Inactive
    #* Given the MISP Partner status is Active
    #* But the MISP License Key is inactive or expired
    #* When an authentication request is received
    #* Then IDA should reject the authentication request due to invalid license key.

  2. MISP Partner Deactivated but License Key Active
    #* Given the MISP Partner is Deactivated
    #* And the MISP License Key is still active
    #* When the partner sends an authentication request
    #* Then IDA should reject the authentication request because the partner is inactive.

  3. Both Partner and License Key Invalid
    #* Given the MISP Partner is Deactivated
    #* And the MISP License Key is inactive or expired
    #* When the authentication request is received
    #* Then IDA should reject the request.

  4. License Key Renewal
    #* If an expired or inactive license key is renewed or reactivated in PMS
    #* Then IDA should allow authentication requests again once the updated status is synchronized provided the partner is still active

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    Priority

    None yet

    End Date

    None yet

    Complexity

    None yet

    Start Date

    None yet

    Original Estimate

    None yet

    Time Tracking

    None yet

    Resolved By

    None yet

    Story Points

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions