BAEL-797 Adding login logic and a get principal endpoint to serve as our login method
This commit is contained in:
parent
b4ddc23ebf
commit
7e5ff3a0ec
|
@ -1,18 +1,33 @@
|
|||
import {Component} from "@angular/core";
|
||||
import {Component, OnInit} from "@angular/core";
|
||||
import {NgForm} from "@angular/forms";
|
||||
import {RequestOptions, Http, Response, Headers} from "@angular/http";
|
||||
import "rxjs/Rx";
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
templateUrl: './app.component.html',
|
||||
styleUrls: ['./app.component.css']
|
||||
})
|
||||
export class AppComponent {
|
||||
export class AppComponent implements OnInit{
|
||||
credentials = {
|
||||
username: '',
|
||||
password: ''
|
||||
};
|
||||
|
||||
constructor(private http: Http){}
|
||||
|
||||
ngOnInit(): void {
|
||||
|
||||
}
|
||||
|
||||
onLogin(form: NgForm) {
|
||||
console.log(form);
|
||||
let headers = new Headers({'Content-Type': 'application/json'});
|
||||
headers.append('Authorization','Basic ' + btoa(form.value.username + ':' + form.value.password));
|
||||
let options = new RequestOptions({headers: headers});
|
||||
this.http.get("/me", options)
|
||||
.map((response: Response) => response.json())
|
||||
.subscribe((data: any) => {
|
||||
console.log(data);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
import {BrowserModule} from "@angular/platform-browser";
|
||||
import {NgModule} from "@angular/core";
|
||||
import {FormsModule} from "@angular/forms";
|
||||
import {HttpModule} from "@angular/http";
|
||||
import {HttpModule, RequestOptions} from "@angular/http";
|
||||
import {AppComponent} from "./app.component";
|
||||
import {NgbModule} from "@ng-bootstrap/ng-bootstrap";
|
||||
import {DefaultRequestOptions} from "./default-request-options";
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
|
@ -15,7 +16,7 @@ import {NgbModule} from "@ng-bootstrap/ng-bootstrap";
|
|||
HttpModule,
|
||||
NgbModule.forRoot()
|
||||
],
|
||||
providers: [],
|
||||
providers: [{provide: RequestOptions, useClass: DefaultRequestOptions}],
|
||||
bootstrap: [AppComponent]
|
||||
})
|
||||
export class AppModule { }
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
import {Injectable} from "@angular/core";
|
||||
import {BaseRequestOptions, Headers} from "@angular/http";
|
||||
/**
|
||||
* Created by tschi on 4/16/2017.
|
||||
*/
|
||||
@Injectable()
|
||||
export class DefaultRequestOptions extends BaseRequestOptions {
|
||||
headers = new Headers({
|
||||
'X-Requested-With':'XMLHttpRequest',
|
||||
});
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package com.baeldung.spring.cloud.bootstrap.gateway;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.security.Principal;
|
||||
|
||||
@RestController
|
||||
public class AuthenticationController {
|
||||
@GetMapping("/me")
|
||||
public Principal getMyUser(Principal principal) {
|
||||
return principal;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue