You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-13
Original file line number
Diff line number
Diff line change
@@ -1,46 +1,53 @@
1
1
angular-symfony
2
2
===============
3
3
4
-
Project Bootstrap for an angularJS + Symfony webservices project.
4
+
Project Bootstrap for an Angular 2+ and Symfony 4+ webservices project.
5
5
6
6
Introduction
7
7
------------
8
8
9
-
This project is a template application with secured communication via a RestFul API between the client part with AngularJS and the server part with Symfony2.
9
+
This project is a template application with a secured RestFul API communication via WSS UserToken security scheme.
10
+
11
+
Buy me a coffee
12
+
---------------
13
+
14
+
[](https://paypal.me/nac1dbois)
15
+
16
+
I'm working on this project in my free time and offering it free of charges. To help me work more on this you can help me by sending me a tip.
10
17
11
18
Installation
12
19
------------
13
20
14
-
Install docker and docker-compose, refer to docker documentation.
The Authentication system is based on the custom Authentication Provider of the Symfony2 Cookbook : http://symfony.com/doc/2.1/cookbook/security/custom_authentication_provider.html
50
+
The Authentication system is based on the custom Authentication Provider of the [Symfony Cookbook](https://symfony.com/doc/4.4/security/custom_authentication_provider.html)
44
51
45
52
> The following chapter demonstrates how to create a custom authentication provider for WSSE authentication. The security protocol for WSSE provides several security benefits:
46
53
> * Username / Password encryption
@@ -49,14 +56,26 @@ The Authentication system is based on the custom Authentication Provider of the
49
56
>
50
57
> WSSE is very useful for the securing of web services, may they be SOAP or REST.
51
58
52
-
I used the exact same authentication system with a little change in moment of generating the digest, we use the hexadecimal value of the hashed seed in lieu of the binary value.
59
+
I used the exact same authentication system.
53
60
54
61
Client Side specifics
55
62
---------------------
56
63
57
-
On the client side, I've inspired my code from Nils Blum-Oeste article explaining how to send an authorization token for every request. To do this you have to register a wrapper for every resource actions that execute a specific code before doing the action. For more information you can check http://nils-blum-oeste.net/angularjs-send-auth-token-with-every--request/.
64
+
On the client side, I've inspired my code from Angular official documentation about HttpInterceptor, allowing me to send the WSS UserToken on each HTTP request when token is available. Examples usually shows how to send the Authorization header.
65
+
66
+
The difference there is that I send the token, username and user digest in the HTTP Header *X-WSSE*.
67
+
68
+
LICENSE
69
+
-------
70
+
71
+
This program is free software. It comes without any warranty, to the extent permitted by applicable law.
72
+
73
+
This software is LICENSED under the MIT License. Use it at your own risk.
74
+
75
+
WARNING
76
+
-------
58
77
59
-
The differences there is that I send the token, username and user digest in the HTTP Header *X-WSSE*.
78
+
Servers are configured for developments purposes. Do not deploy this project on production as is. You should have a look to [Symfony deployment documentation](https://symfony.com/doc/4.4/deployment.html) for the Back-end and the [Angular deployment documentation](https://angular.io/guide/deployment) for the Front-End part.
0 commit comments