mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-04 03:39:37 -05:00 
			
		
		
		
	fix(server): oauth mobile callback url (#2339)
* fix(server): mobile redirect uri * chore: add test
This commit is contained in:
		
							parent
							
								
									c329a17975
								
							
						
					
					
						commit
						c4f5dc6d01
					
				@ -97,7 +97,7 @@ export class OAuthCore {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private normalize(redirectUri: string) {
 | 
			
		||||
    const isMobile = redirectUri === MOBILE_REDIRECT;
 | 
			
		||||
    const isMobile = redirectUri.startsWith(MOBILE_REDIRECT);
 | 
			
		||||
    const { mobileRedirectUri, mobileOverrideEnabled } = this.config.oauth;
 | 
			
		||||
    if (isMobile && mobileOverrideEnabled && mobileRedirectUri) {
 | 
			
		||||
      return mobileRedirectUri;
 | 
			
		||||
 | 
			
		||||
@ -154,6 +154,17 @@ describe('OAuthService', () => {
 | 
			
		||||
 | 
			
		||||
      expect(callbackMock).toHaveBeenCalledWith('http://mobile-redirect', { state: 'state' }, { state: 'state' });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('should use the mobile redirect override for ios urls with multiple slashes', async () => {
 | 
			
		||||
      sut = create(systemConfigStub.override);
 | 
			
		||||
 | 
			
		||||
      userMock.getByOAuthId.mockResolvedValue(userEntityStub.user1);
 | 
			
		||||
      userTokenMock.create.mockResolvedValue(userTokenEntityStub.userToken);
 | 
			
		||||
 | 
			
		||||
      await sut.login({ url: `app.immich:///?code=abc123` }, loginDetails);
 | 
			
		||||
 | 
			
		||||
      expect(callbackMock).toHaveBeenCalledWith('http://mobile-redirect', { state: 'state' }, { state: 'state' });
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  describe('link', () => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user