mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
fix: Explain why logging in will not work
This commit is contained in:
parent
f0f59a8f27
commit
a062a710bc
@ -227,10 +227,9 @@ export class IdentityProviderHttpHandler extends HttpHandler {
|
||||
|
||||
if (result.type === 'complete') {
|
||||
if (!oidcInteraction) {
|
||||
// Once https://github.com/solid/community-server/pull/898 is merged
|
||||
// we want to assign an error code here to have a more thorough explanation
|
||||
throw new BadRequestHttpError(
|
||||
'This action can only be executed as part of an authentication flow. It should not be used directly.',
|
||||
'This action can only be performed as part of an OIDC authentication flow.',
|
||||
{ errorCode: 'E0002' },
|
||||
);
|
||||
}
|
||||
// Create a redirect URL with the OIDC library
|
||||
|
6
templates/error/descriptions/E0002.md.hbs
Normal file
6
templates/error/descriptions/E0002.md.hbs
Normal file
@ -0,0 +1,6 @@
|
||||
# Please log in through an app
|
||||
Logging in to a Solid Pod needs to happen via a Solid app.
|
||||
<br>
|
||||
It is not possible to use the login page directly.
|
||||
If you are developing an app,
|
||||
you can use a library such as [`solid-client-authn-js`](https://github.com/inrupt/solid-client-authn-js) to initiate an OIDC authentication flow.
|
@ -160,9 +160,10 @@ describe('An IdentityProviderHttpHandler', (): void => {
|
||||
expect(routes.complete.handler.handleSafe).toHaveBeenLastCalledWith({ operation });
|
||||
expect(interactionCompleter.handleSafe).toHaveBeenCalledTimes(0);
|
||||
|
||||
const error = new BadRequestHttpError(
|
||||
'This action can only be executed as part of an authentication flow. It should not be used directly.',
|
||||
);
|
||||
const error = expect.objectContaining({
|
||||
message: 'This action can only be performed as part of an OIDC authentication flow.',
|
||||
errorCode: 'E0002',
|
||||
});
|
||||
expect(errorHandler.handleSafe).toHaveBeenCalledTimes(1);
|
||||
expect(errorHandler.handleSafe).toHaveBeenLastCalledWith({ error, preferences: { type: { 'text/html': 1 }}});
|
||||
expect(responseWriter.handleSafe).toHaveBeenCalledTimes(1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user