0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-03 23:00:14 -05:00
ghost/core/server/data/schema/default-settings.json
Fabien O'Carroll d246a4761e Implemented externally verifiable identity tokens
no-issue

This adds two new endpoints, one at /ghost/.well-known/jwks.json for exposing
a public key, and one on the canary api /identities, which allows the
Owner user to fetch a JWT.

This token can then be used by external services to verify the domain

* Added ghost_{public,private}_key settings

    This key can be used for generating tokens for communicating with
    external services on behalf of Ghost

* Added .well-known directory to /ghost/.well-known

    We add a jwks.json file to the .well-known directory which exposes a
    public JWK which can be used to verify the signatures of JWT's created
    by Ghost

    This is added to the /ghost/ path so that it can live on the admin
    domain, rather than the frontend. This is because most of its
    uses/functions will be in relation to the admin domain.

* Improved settings model tests

    This removes hardcoded positions in favour of testing that a particular
    event wasn't emitted which is less brittle and more precise about what's
    being tested

* Fixed parent app unit tests for well-known

    This updates the parent app unit tests to check that the well-known
    route is mounted. We all change proxyquire to use `noCallThru` which
    ensures that the ubderlying modules are not required. This stops the
    initialisation logic in ./well-known erroring in tests

https://github.com/thlorenz/proxyquire/issues/215

* Moved jwt signature to a separate 'token' propery

    This structure corresponds to other resources and allows to exptend with
    additional properties in future if needed
2020-03-16 13:22:04 +01:00

224 lines
6.1 KiB
JSON

{
"core": {
"db_hash": {
"defaultValue": null
},
"next_update_check": {
"defaultValue": null
},
"notifications": {
"defaultValue": "[]"
},
"session_secret": {
"defaultValue": null
},
"theme_session_secret": {
"defaultValue": null
},
"ghost_public_key": {
"defaultValue": null
},
"ghost_private_key": {
"defaultValue": null
}
},
"blog": {
"title": {
"defaultValue": "Ghost",
"validations": {
"isLength": {
"max": 150
}
}
},
"description": {
"defaultValue": "The professional publishing platform",
"validations": {
"isLength": {
"max": 200
}
}
},
"logo": {
"defaultValue": "https://static.ghost.org/v1.0.0/images/ghost-logo.svg"
},
"cover_image": {
"defaultValue": "https://static.ghost.org/v3.0.0/images/publication-cover.png"
},
"icon": {
"defaultValue": ""
},
"brand": {
"defaultValue": "{\"primaryColor\":\"\"}"
},
"default_locale": {
"defaultValue": "en",
"validations": {
"isEmpty": false
}
},
"active_timezone": {
"defaultValue": "Etc/UTC",
"validations": {
"isTimezone": true,
"isEmpty": false
}
},
"force_i18n": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [["true", "false"]]
}
},
"permalinks": {
"defaultValue": "/:slug/",
"validations": {
"matches": "^(\/:?[a-z0-9_-]+){1,5}\/$",
"matches": "(:id|:slug|:year|:month|:day|:author|:primary_tag|:primary_author)",
"notContains": "/ghost/"
}
},
"amp": {
"defaultValue" : "true",
"validations": {
"isIn": [["true", "false"]]
}
},
"ghost_head": {
"defaultValue" : ""
},
"ghost_foot": {
"defaultValue" : ""
},
"facebook": {
"defaultValue" : "ghost"
},
"twitter": {
"defaultValue" : "tryghost"
},
"labs": {
"defaultValue": "{}"
},
"navigation": {
"defaultValue": "[{\"label\":\"Home\", \"url\":\"/\"},{\"label\":\"Tag\", \"url\":\"/tag/getting-started/\"}, {\"label\":\"Author\", \"url\":\"/author/ghost/\"},{\"label\":\"Help\", \"url\":\"https://ghost.org/docs/\"}]"
},
"secondary_navigation": {
"defaultValue": "[]"
},
"slack": {
"defaultValue": "[{\"url\":\"\", \"username\":\"Ghost\"}]"
},
"unsplash": {
"defaultValue": "{\"isActive\": true}"
},
"meta_title": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
}
},
"meta_description": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 500
}
}
},
"og_image": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 2000
}
}
},
"og_title": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
}
},
"og_description": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
}
},
"twitter_image": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 2000
}
}
},
"twitter_title": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
}
},
"twitter_description": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
}
}
},
"theme": {
"active_theme": {
"defaultValue": "casper"
}
},
"private": {
"is_private": {
"defaultValue": "false",
"validations": {
"isIn": [["true", "false"]]
}
},
"password": {
"defaultValue": ""
},
"public_hash": {
"defaultValue": null
}
},
"members": {
"members_public_key": {
"defaultValue": null
},
"members_private_key": {
"defaultValue": null
},
"members_session_secret": {
"defaultValue": null
},
"members_email_auth_secret": {
"defaultValue": null
},
"default_content_visibility": {
"defaultValue": "public"
},
"members_subscription_settings": {
"defaultValue": "{\"fromAddress\":\"noreply\",\"allowSelfSignup\":true,\"paymentProcessors\":[{\"adapter\":\"stripe\",\"config\":{\"secret_token\":\"\",\"public_token\":\"\",\"product\":{\"name\":\"Ghost Subscription\"},\"plans\":[{\"name\":\"Monthly\",\"currency\":\"usd\",\"interval\":\"month\",\"amount\":\"\"},{\"name\":\"Yearly\",\"currency\":\"usd\",\"interval\":\"year\",\"amount\":\"\"}]}}]}"
}
},
"bulk_email": {
"bulk_email_settings": {
"defaultValue": "{\"provider\":\"mailgun\", \"apiKey\": \"\", \"domain\": \"\", \"baseUrl\": \"\"}"
}
}
}