|
@@ -10,37 +10,56 @@ import 'rxjs/add/observable/throw'
|
|
|
@Injectable()
|
|
|
export class TokenService {
|
|
|
|
|
|
+ username: string = 'admin';
|
|
|
+ password: string = 'admin';
|
|
|
+ url: string = '192.168.100.141:22000';
|
|
|
+
|
|
|
constructor(public http: Http) {
|
|
|
console.log('Hello TokenAuth Provider');
|
|
|
}
|
|
|
|
|
|
- // Get token from server
|
|
|
- getTokenFromServer(url: string, username: string, password: string): Observable<Token> {
|
|
|
- let body = JSON.stringify({
|
|
|
- username: username,
|
|
|
- password: password
|
|
|
- });
|
|
|
+ getToken(): void {
|
|
|
+ let response = this.getTokenFromServer();
|
|
|
|
|
|
- let headers = new Headers({ 'Content-Type': 'multipart/form-data'});
|
|
|
- let options = new RequestOptions({ headers: headers });
|
|
|
+ response.subscribe(data => {
|
|
|
+ console.log(data.value);
|
|
|
+ }, err => console.error('Error: ' + err),
|
|
|
+ () => console.log('Token received')
|
|
|
+ );
|
|
|
|
|
|
- return this.http.post(this.normalizeUrl(url), body, options).map(this.extractData).catch(this.handleError);
|
|
|
+ }
|
|
|
+
|
|
|
+ // Check if introduced url is valid
|
|
|
+ checkUrl(): boolean {
|
|
|
+ return this.url.includes('.');
|
|
|
}
|
|
|
|
|
|
// Normalize provide url
|
|
|
private normalizeUrl(url: string): string {
|
|
|
- return (url.startsWith('http://') ? url : 'http://' + url) + '/jwt/api';
|
|
|
+ return (url.startsWith('http://') ? url : 'http://' + url) + '/api/jwt';
|
|
|
+ }
|
|
|
+
|
|
|
+ // Get token from server
|
|
|
+ getTokenFromServer(): Observable<Token> {
|
|
|
+ let body = 'username=' + this.username + '&password=' + this.password;
|
|
|
+ let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });
|
|
|
+ let options = new RequestOptions({ headers: headers });
|
|
|
+
|
|
|
+ return this.http.post(this.normalizeUrl(this.url), body, options).map(this.extractData).catch(this.handleError);
|
|
|
}
|
|
|
|
|
|
// Extract data from http response
|
|
|
private extractData(response: Response) {
|
|
|
let body = response.json();
|
|
|
+ let token = new Token(body.token);
|
|
|
|
|
|
- return body.data || {};
|
|
|
+ return token;
|
|
|
}
|
|
|
|
|
|
// Handle error if ocurred
|
|
|
private handleError(error: any) {
|
|
|
- return Observable.throw(error.response);
|
|
|
+ let msg = error._body;
|
|
|
+
|
|
|
+ return Observable.throw(msg);
|
|
|
}
|
|
|
}
|