tmp
This commit is contained in:
parent
049dbfeb66
commit
39526d0225
|
@ -1,6 +1,5 @@
|
||||||
import dns from 'node:dns/promises';
|
import dns from 'node:dns/promises';
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
import Provider, { type Adapter, type Account, AdapterPayload } from 'oidc-provider';
|
|
||||||
import fastifyMiddie, { IncomingMessageExtended } from '@fastify/middie';
|
import fastifyMiddie, { IncomingMessageExtended } from '@fastify/middie';
|
||||||
import { JSDOM } from 'jsdom';
|
import { JSDOM } from 'jsdom';
|
||||||
import parseLinkHeader from 'parse-link-header';
|
import parseLinkHeader from 'parse-link-header';
|
||||||
|
@ -429,8 +428,6 @@ export class OAuth2ProviderService {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// oidc-provider provides many more endpoints for OpenID support and there's
|
|
||||||
// no way to turn it off.
|
|
||||||
// For now only allow the basic OAuth endpoints, to start small and evaluate
|
// For now only allow the basic OAuth endpoints, to start small and evaluate
|
||||||
// this feature for some time, given that this is security related.
|
// this feature for some time, given that this is security related.
|
||||||
fastify.get<{ Querystring: OAuthRequestQuery }>('/oauth/authorize', async (request, reply) => {
|
fastify.get<{ Querystring: OAuthRequestQuery }>('/oauth/authorize', async (request, reply) => {
|
||||||
|
@ -451,6 +448,8 @@ export class OAuth2ProviderService {
|
||||||
reply.header('Cache-Control', 'no-store');
|
reply.header('Cache-Control', 'no-store');
|
||||||
return await reply.view('oauth', {
|
return await reply.view('oauth', {
|
||||||
transactionId: oauth2?.transactionID,
|
transactionId: oauth2?.transactionID,
|
||||||
|
clientId: oauth2?.client,
|
||||||
|
scope: oauth2?.req.scope.join(' '),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
fastify.post('/oauth/decision', async () => { });
|
fastify.post('/oauth/decision', async () => { });
|
||||||
|
|
|
@ -7,4 +7,3 @@ block meta
|
||||||
meta(name='misskey:oauth:transaction-id' content=transactionId)
|
meta(name='misskey:oauth:transaction-id' content=transactionId)
|
||||||
meta(name='misskey:oauth:client-id' content=clientId)
|
meta(name='misskey:oauth:client-id' content=clientId)
|
||||||
meta(name='misskey:oauth:scope' content=scope)
|
meta(name='misskey:oauth:scope' content=scope)
|
||||||
meta(name='misskey:oauth:redirection-uri' content=redirectionUri)
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
:class="[$style.root, { [$style.inline]: inline, [$style.primary]: primary, [$style.gradate]: gradate, [$style.danger]: danger, [$style.rounded]: rounded, [$style.full]: full, [$style.small]: small, [$style.large]: large, [$style.transparent]: transparent, [$style.asLike]: asLike }]"
|
:class="[$style.root, { [$style.inline]: inline, [$style.primary]: primary, [$style.gradate]: gradate, [$style.danger]: danger, [$style.rounded]: rounded, [$style.full]: full, [$style.small]: small, [$style.large]: large, [$style.transparent]: transparent, [$style.asLike]: asLike }]"
|
||||||
:type="type"
|
:type="type"
|
||||||
:name="name"
|
:name="name"
|
||||||
|
:value="value"
|
||||||
@click="emit('click', $event)"
|
@click="emit('click', $event)"
|
||||||
@mousedown="onMousedown"
|
@mousedown="onMousedown"
|
||||||
>
|
>
|
||||||
|
@ -46,6 +47,7 @@ const props = defineProps<{
|
||||||
transparent?: boolean;
|
transparent?: boolean;
|
||||||
asLike?: boolean;
|
asLike?: boolean;
|
||||||
name?: string;
|
name?: string;
|
||||||
|
value?: string;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
|
|
|
@ -4,18 +4,18 @@
|
||||||
<MkSpacer :content-max="800">
|
<MkSpacer :content-max="800">
|
||||||
<div v-if="$i">
|
<div v-if="$i">
|
||||||
<div v-if="_permissions.length > 0">
|
<div v-if="_permissions.length > 0">
|
||||||
<p v-if="name">{{ $t('_auth.permission', { name }) }}</p>
|
<p v-if="name">{{ i18n.t('_auth.permission', { name }) }}</p>
|
||||||
<p v-else>{{ i18n.ts._auth.permissionAsk }}</p>
|
<p v-else>{{ i18n.ts._auth.permissionAsk }}</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li v-for="p in _permissions" :key="p">{{ $t(`_permissions.${p}`) }}</li>
|
<li v-for="p in _permissions" :key="p">{{ i18n.t(`_permissions.${p}`) }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="name">{{ $t('_auth.shareAccess', { name }) }}</div>
|
<div v-if="name">{{ i18n.t('_auth.shareAccess', { name }) }}</div>
|
||||||
<div v-else>{{ i18n.ts._auth.shareAccessAsk }}</div>
|
<div v-else>{{ i18n.ts._auth.shareAccessAsk }}</div>
|
||||||
<form :class="$style.buttons" action="/oauth/decision" accept-charset="utf-8" method="post">
|
<form :class="$style.buttons" action="/oauth/decision" accept-charset="utf-8" method="post">
|
||||||
<input name="login_token" type="hidden" :value="$i.token"/>
|
<input name="login_token" type="hidden" :value="$i.token"/>
|
||||||
<input name="transaction_id" type="hidden" :value="transactionIdMeta?.content"/>
|
<input name="transaction_id" type="hidden" :value="transactionIdMeta?.content"/>
|
||||||
<MkButton inline name="cancel">{{ i18n.ts.cancel }}</MkButton>
|
<MkButton inline name="cancel" value="cancel">{{ i18n.ts.cancel }}</MkButton>
|
||||||
<MkButton inline primary>{{ i18n.ts.accept }}</MkButton>
|
<MkButton inline primary>{{ i18n.ts.accept }}</MkButton>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue