﻿module Bit.Contracts {

    export interface Token {
        access_token: string;
        expires_in: number;
        token_type: string;
        login_date: Date;
    }

    export interface ISecurityService {
        isLoggedIn(): boolean;
        login(state?: any): void;
        logout(): void;
        loginWithCredentials(username: string, password: string, client_id: string, client_secret: string, scopes?: string[], saveToken?: boolean): Promise<Token>;
        getCurrentToken(): Token;
    }
}

﻿module Bit.Contracts {

    export interface Token {
        access_token: string;
        expires_in: number;
        token_type: string;
        login_date: Date;
    }

    export interface ISecurityService {
        isLoggedIn(): boolean;
        login(state?: any): void;
        logout(): void;
        loginWithCredentials(username: string, password: string, client_id: string, client_secret: string, scopes: string[], saveToken: boolean): Promise<Token>;
        getCurrentToken(): Token;
    }
}
--- 
+++ 
@@ -11,7 +11,7 @@
         isLoggedIn(): boolean;
         login(state?: any): void;
         logout(): void;
-        loginWithCredentials(username: string, password: string, client_id: string, client_secret: string, scopes: string[], saveToken: boolean): Promise<Token>;
+        loginWithCredentials(username: string, password: string, client_id: string, client_secret: string, scopes?: string[], saveToken?: boolean): Promise<Token>;
         getCurrentToken(): Token;
     }
 }
Make security service contract's loginWithCredentionals of ts client sync with its default implementation