Ability to Reject an authentication request instead of ignoring it (#1453)
* Reject instead of ignore * lint
This commit is contained in:
parent
0c7ce85805
commit
fd94590ece
@ -524,8 +524,14 @@ export default class Extension {
|
|||||||
return { list: remAuth };
|
return { list: remAuth };
|
||||||
}
|
}
|
||||||
|
|
||||||
private deleteAuthRequest (requestId: string): void {
|
private rejectAuthRequest (id: string): void {
|
||||||
return this.#state.deleteAuthRequest(requestId);
|
const queued = this.#state.getAuthRequest(id);
|
||||||
|
|
||||||
|
assert(queued, 'Unable to find request');
|
||||||
|
|
||||||
|
const { reject } = queued;
|
||||||
|
|
||||||
|
reject(new Error('Rejected'));
|
||||||
}
|
}
|
||||||
|
|
||||||
private updateCurrentTabs ({ urls }: RequestActiveTabsUrlUpdate) {
|
private updateCurrentTabs ({ urls }: RequestActiveTabsUrlUpdate) {
|
||||||
@ -549,8 +555,8 @@ export default class Extension {
|
|||||||
case 'pri(authorize.remove)':
|
case 'pri(authorize.remove)':
|
||||||
return this.removeAuthorization(request as string);
|
return this.removeAuthorization(request as string);
|
||||||
|
|
||||||
case 'pri(authorize.delete.request)':
|
case 'pri(authorize.reject)':
|
||||||
return this.deleteAuthRequest(request as string);
|
return this.rejectAuthRequest(request as string);
|
||||||
|
|
||||||
case 'pri(authorize.requests)':
|
case 'pri(authorize.requests)':
|
||||||
return port && this.authorizeSubscribe(id, port);
|
return port && this.authorizeSubscribe(id, port);
|
||||||
|
|||||||
@ -96,7 +96,7 @@ export interface RequestSignatures {
|
|||||||
'pri(authorize.list)': [null, ResponseAuthorizeList];
|
'pri(authorize.list)': [null, ResponseAuthorizeList];
|
||||||
'pri(authorize.requests)': [RequestAuthorizeSubscribe, boolean, AuthorizeRequest[]];
|
'pri(authorize.requests)': [RequestAuthorizeSubscribe, boolean, AuthorizeRequest[]];
|
||||||
'pri(authorize.remove)': [string, ResponseAuthorizeList];
|
'pri(authorize.remove)': [string, ResponseAuthorizeList];
|
||||||
'pri(authorize.delete.request)': [string, void];
|
'pri(authorize.reject)': [string, void];
|
||||||
'pri(authorize.update)': [RequestUpdateAuthorizedAccounts, void];
|
'pri(authorize.update)': [RequestUpdateAuthorizedAccounts, void];
|
||||||
'pri(activeTabsUrl.update)': [RequestActiveTabsUrlUpdate, void];
|
'pri(activeTabsUrl.update)': [RequestActiveTabsUrlUpdate, void];
|
||||||
'pri(connectedTabsUrl.get)': [null, ConnectedTabsUrlResponse];
|
'pri(connectedTabsUrl.get)': [null, ConnectedTabsUrlResponse];
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import React, { useCallback } from 'react';
|
|||||||
import { Trans } from 'react-i18next';
|
import { Trans } from 'react-i18next';
|
||||||
|
|
||||||
import { Button, Warning } from '../../components/index.js';
|
import { Button, Warning } from '../../components/index.js';
|
||||||
import { deleteAuthRequest } from '../../messaging.js';
|
import { rejectAuthRequest } from '../../messaging.js';
|
||||||
import { styled } from '../../styled.js';
|
import { styled } from '../../styled.js';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
@ -16,7 +16,7 @@ interface Props {
|
|||||||
|
|
||||||
function NoAccount ({ authId, className }: Props): React.ReactElement<Props> {
|
function NoAccount ({ authId, className }: Props): React.ReactElement<Props> {
|
||||||
const _onClick = useCallback(() => {
|
const _onClick = useCallback(() => {
|
||||||
deleteAuthRequest(authId).catch(console.error);
|
rejectAuthRequest(authId).catch(console.error);
|
||||||
}, [authId]
|
}, [authId]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import React, { useCallback, useContext, useEffect } from 'react';
|
|||||||
|
|
||||||
import { AccountContext, ActionBar, ActionContext, Button, Link } from '../../components/index.js';
|
import { AccountContext, ActionBar, ActionContext, Button, Link } from '../../components/index.js';
|
||||||
import { useTranslation } from '../../hooks/index.js';
|
import { useTranslation } from '../../hooks/index.js';
|
||||||
import { approveAuthRequest, deleteAuthRequest } from '../../messaging.js';
|
import { approveAuthRequest, rejectAuthRequest } from '../../messaging.js';
|
||||||
import { AccountSelection } from '../../partials/index.js';
|
import { AccountSelection } from '../../partials/index.js';
|
||||||
import { styled } from '../../styled.js';
|
import { styled } from '../../styled.js';
|
||||||
import NoAccount from './NoAccount.js';
|
import NoAccount from './NoAccount.js';
|
||||||
@ -44,7 +44,7 @@ function Request ({ authId, className, isFirst, request: { origin }, url }: Prop
|
|||||||
|
|
||||||
const _onClose = useCallback(
|
const _onClose = useCallback(
|
||||||
(): void => {
|
(): void => {
|
||||||
deleteAuthRequest(authId)
|
rejectAuthRequest(authId)
|
||||||
.then(() => onAction())
|
.then(() => onAction())
|
||||||
.catch((error: Error) => console.error(error));
|
.catch((error: Error) => console.error(error));
|
||||||
},
|
},
|
||||||
@ -77,7 +77,7 @@ function Request ({ authId, className, isFirst, request: { origin }, url }: Prop
|
|||||||
isDanger
|
isDanger
|
||||||
onClick={_onClose}
|
onClick={_onClose}
|
||||||
>
|
>
|
||||||
{t('Ask again later')}
|
{t('Reject')}
|
||||||
</Link>
|
</Link>
|
||||||
</ActionBar>
|
</ActionBar>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -220,8 +220,8 @@ export async function updateAuthorization (authorizedAccounts: string[], url: st
|
|||||||
return sendMessage('pri(authorize.update)', { authorizedAccounts, url });
|
return sendMessage('pri(authorize.update)', { authorizedAccounts, url });
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function deleteAuthRequest (requestId: string): Promise<void> {
|
export async function rejectAuthRequest (requestId: string): Promise<void> {
|
||||||
return sendMessage('pri(authorize.delete.request)', requestId);
|
return sendMessage('pri(authorize.reject)', requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function subscribeMetadataRequests (cb: (accounts: MetadataRequest[]) => void): Promise<boolean> {
|
export async function subscribeMetadataRequests (cb: (accounts: MetadataRequest[]) => void): Promise<boolean> {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user