mirror of
https://github.com/immich-app/immich.git
synced 2024-11-24 08:52:28 +02:00
fix(server): oauth linking error message (#10287)
This commit is contained in:
parent
8c2195c820
commit
c6ab047167
@ -395,12 +395,12 @@ describe('AuthService', () => {
|
|||||||
userMock.getAdmin.mockResolvedValue(userStub.user1);
|
userMock.getAdmin.mockResolvedValue(userStub.user1);
|
||||||
userMock.create.mockResolvedValue(userStub.user1);
|
userMock.create.mockResolvedValue(userStub.user1);
|
||||||
|
|
||||||
await expect(sut.callback({ url: 'http://immich/auth/login?code=abc123' }, loginDetails)).resolves.toEqual(
|
await expect(sut.callback({ url: 'http://immich/auth/login?code=abc123' }, loginDetails)).rejects.toThrow(
|
||||||
loginResponseStub.user1oauth,
|
BadRequestException,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(userMock.update).not.toHaveBeenCalled();
|
expect(userMock.update).not.toHaveBeenCalled();
|
||||||
expect(userMock.create).toHaveBeenCalled();
|
expect(userMock.create).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should allow auto registering by default', async () => {
|
it('should allow auto registering by default', async () => {
|
||||||
|
@ -198,8 +198,12 @@ export class AuthService {
|
|||||||
// link existing user
|
// link existing user
|
||||||
if (!user) {
|
if (!user) {
|
||||||
const emailUser = await this.userRepository.getByEmail(profile.email);
|
const emailUser = await this.userRepository.getByEmail(profile.email);
|
||||||
if (emailUser && !emailUser.oauthId) {
|
if (emailUser) {
|
||||||
user = await this.userRepository.update(emailUser.id, { oauthId: profile.sub });
|
if (emailUser.oauthId) {
|
||||||
|
throw new BadRequestException('User already exists, but is linked to another account.');
|
||||||
|
} else {
|
||||||
|
user = await this.userRepository.update(emailUser.id, { oauthId: profile.sub });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user