feat: http.request permissions
This commit is contained in:
@@ -791,7 +791,8 @@ window.PageExtensions = {
|
|||||||
descriptions,
|
descriptions,
|
||||||
fieldGroups: [],
|
fieldGroups: [],
|
||||||
invoicePolicies: [],
|
invoicePolicies: [],
|
||||||
extensionAccess: []
|
extensionAccess: [],
|
||||||
|
httpHosts: []
|
||||||
}
|
}
|
||||||
|
|
||||||
if (permission.id === 'ext.storage.read_public') {
|
if (permission.id === 'ext.storage.read_public') {
|
||||||
@@ -810,6 +811,10 @@ window.PageExtensions = {
|
|||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (permission.id === 'http.request') {
|
||||||
|
item.httpHosts = this.httpRequestPermissionHosts(permission)
|
||||||
|
}
|
||||||
|
|
||||||
if (permission.id === 'wallet.create_invoice_public') {
|
if (permission.id === 'wallet.create_invoice_public') {
|
||||||
item.invoicePolicies = this.publicInvoicePolicies(permission)
|
item.invoicePolicies = this.publicInvoicePolicies(permission)
|
||||||
}
|
}
|
||||||
@@ -839,7 +844,7 @@ window.PageExtensions = {
|
|||||||
: this.mediumRisk()
|
: this.mediumRisk()
|
||||||
}
|
}
|
||||||
if (permission.id === 'http.request') {
|
if (permission.id === 'http.request') {
|
||||||
return this.highRisk('extension_permission_warning_http_request')
|
return this.mediumRisk()
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
[
|
[
|
||||||
@@ -884,6 +889,7 @@ window.PageExtensions = {
|
|||||||
'wallet.list',
|
'wallet.list',
|
||||||
'wallet.balance.read',
|
'wallet.balance.read',
|
||||||
'extension.api.request',
|
'extension.api.request',
|
||||||
|
'http.request',
|
||||||
'ui.camera.scan_qr',
|
'ui.camera.scan_qr',
|
||||||
'ext.storage.read',
|
'ext.storage.read',
|
||||||
'ext.storage.write',
|
'ext.storage.write',
|
||||||
@@ -912,6 +918,13 @@ window.PageExtensions = {
|
|||||||
})
|
})
|
||||||
.filter(Boolean)
|
.filter(Boolean)
|
||||||
},
|
},
|
||||||
|
httpRequestPermissionHosts(permission) {
|
||||||
|
const hosts = permission.policies
|
||||||
|
if (!Array.isArray(hosts)) return []
|
||||||
|
return hosts
|
||||||
|
.map(host => (typeof host === 'string' ? host : host?.host || ''))
|
||||||
|
.filter(host => typeof host === 'string' && host)
|
||||||
|
},
|
||||||
publicInvoicePolicies(permission) {
|
publicInvoicePolicies(permission) {
|
||||||
const policies = permission.policies
|
const policies = permission.policies
|
||||||
if (!Array.isArray(policies)) return []
|
if (!Array.isArray(policies)) return []
|
||||||
|
|||||||
@@ -568,6 +568,19 @@
|
|||||||
></q-badge>
|
></q-badge>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="permission.httpHosts.length" class="q-mt-sm">
|
||||||
|
<div
|
||||||
|
class="text-caption text-grey"
|
||||||
|
v-text="$t('extension_permission_http_request_hosts')"
|
||||||
|
></div>
|
||||||
|
<ul class="q-my-sm q-pl-md">
|
||||||
|
<li
|
||||||
|
v-for="host of permission.httpHosts"
|
||||||
|
:key="host"
|
||||||
|
v-text="host"
|
||||||
|
></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-expansion-item>
|
</q-expansion-item>
|
||||||
</q-list>
|
</q-list>
|
||||||
|
|||||||
Reference in New Issue
Block a user