nukefromorbit/nuke-php

Nuke PHP library

Installs: 389

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/nukefromorbit/nuke-php

v1.0.0 2025-04-02 17:35 UTC

This package is auto-updated.

Last update: 2026-01-02 19:21:33 UTC


README

Build Status Latest Stable Version License Code Coverage

Domain Verify

  • .well-known file
    sequenceDiagram
        participant nuke as Nuke
        participant service as Service Domain
    
        note over service: create {your service domain}/.well-known/nuke-verify/{nuke token}<br><br>payload:<br>{nuke token}
    
        nuke ->> service: GET {your service domain}/.well-known/nuke-verify/{nuke token}
    
        service -->> nuke: headers:<br>Status-Code: 200 OK<br><br>payload:<br>{nuke token}
    
        note over service: delete {your service domain}/.well-known/nuke-verify/{nuke token}
    
    Loading
  • DNS
    sequenceDiagram
        participant nuke as Nuke
        participant service as Service Domain
    
        note over service: create TXT DNS for _nuke_verify.{your service domain}<br><br>payload:<br>{nuke token}
    
        nuke ->> service: CHECK TXT DNS _nuke_verify.{your service domain} for {nuke token}
    
        service -->> nuke: Domain is verified
    
        note over service: delete TXT DNS for _nuke_verify.{your service domain}
    
    Loading

Browser & Webhook Authorize Event

Nuke > Service > Nuke

sequenceDiagram
    participant nuke as Nuke
    participant service as Service
    participant service_api as Service API

    nuke ->> service: {service url}<br>?type=authorize<br>&source=nuke<br>&nuke_identifier={nuke identifier}<br>&nuke_token={nuke token}<br>&redirect_uri={nuke app url}

    note over service: nuke_token: Event::construct(BrowserAuthorizeEvent::class)

    note over service: service_token: generated by your service

    service ->> nuke: {nuke app url}<br>?type=authorize<br>&source=nuke<br>&nuke_identifier={nuke identifier}<br>&nuke_token={nuke token}<br>&service_token={service token}

    nuke ->> service_api: POST {service api webhook url}<br><br>headers:<br>X-Nuke-Identifier: {nuke identifier}<br>X-Nuke-Signature: t={current time}, v={signature}<br><br>payload (json):<br>{event: {type: authorize, data: {token: {service token}}}}

    note over service_api: Event::construct(WebhookAuthorizeEvent::class)

    note over service_api: verify/identify and set as active service_token

    service_api -->> nuke: headers:<br>Status-Code: 204 No Content
Loading

Service > Nuke > Service

sequenceDiagram
    participant service as Service
    participant nuke as Nuke
    participant service_api as Service API

    note over service: service_token: generated by your service

    service ->> nuke: {nuke app url}<br>?type=authorize<br>&source=service<br>&nuke_identifier={nuke identifier}<br>&service_token={service token}<br>&redirect_uri={service url}

    nuke ->> service_api: POST {service api webhook url}<br><br>headers:<br>X-Nuke-Identifier: {nuke identifier}<br>X-Nuke-Signature: t={current time}, v={signature}<br><br>payload (json):<br>{event: {type: authorize, data: {token: {service token}}}}

    note over service_api: Event::construct(WebhookAuthorizeEvent::class)

    note over service_api: verify/identify and set as active service_token

    service_api -->> nuke: headers:<br>Status-Code: 204 No Content

    nuke ->> service: {service url}
Loading

Webhook Revoke Event

sequenceDiagram
    participant nuke as Nuke
    participant service_api as Service API

    nuke ->> service_api: POST {service api webhook url}<br><br>headers:<br>X-Nuke-Identifier: {nuke identifier}<br>X-Nuke-Signature: t={current time}, v={signature}<br><br>payload (json):<br>{event: {type: revoke, data: {token: {service token}}}}

    note over service_api: Event::construct(WebhookRevokeEvent::class)

    note over service_api: verify/identify and set as revoked service_token

    service_api -->> nuke: headers:<br>Status-Code: 204 No Content
Loading

Webhook Nuke Event

sequenceDiagram
    participant nuke as Nuke
    participant service_api as Service API

    nuke ->> service_api: POST {service api webhook url}<br><br>headers:<br>X-Nuke-Identifier: {nuke identifier}<br>X-Nuke-Signature: t={current time}, v={signature}<br><br>payload (json):<br>{event: {type: nuke, data: {token: {service token}}}}

    note over service_api: Event::construct(WebhookNukeEvent::class)

    note over service_api: verify/identify and perform nuke action based on service_token

    service_api -->> nuke: headers:<br>Status-Code: 204 No Content
Loading