Implemented openid authentication for authorization code request.

Change-Id: I1f93d20315d1da6573a98d92515d5e4ed979fbed
diff --git a/full/Changes b/full/Changes
index 00d2cad..70835d0 100644
--- a/full/Changes
+++ b/full/Changes
@@ -1,116 +1,120 @@
+version 0.60.4
+12/06/2018
+    - implemented OAuth2 authorization code request with OpenID Authentication (margaretha)
+    
 version 0.60.3
 06/06/2018
-	- improved user authentication by using authentication filter for authorization code request (margaretha)
-	- limited client authentication to client id checking in authorization code request (margaretha)
-	- added user_id in the oauth2_access_token database table (margaretha)
-	- implemented OAuth2Authentication provider for token context management (margaretha)
-	- added parameter checking for authorization DAO (margaretha)
-	- added controller tests using OAuth2 access token (margaretha)
-	- added database tables for MySQL (margaretha)
-	- updated JWT library and related codes (margaretha)
-	
+    - improved user authentication by using authentication filter for authorization code request (margaretha)
+    - limited client authentication to client id checking in authorization code request (margaretha)
+    - added user_id in the oauth2_access_token database table (margaretha)
+    - implemented OAuth2Authentication provider for token context management (margaretha)
+    - added parameter checking for authorization DAO (margaretha)
+    - added controller tests using OAuth2 access token (margaretha)
+    - added database tables for MySQL (margaretha)
+    - updated JWT library and related codes (margaretha)    
+    
 version 0.60.2
 03/05/2018
-	- implemented OAuth2 client registration (margaretha)
-	- implemented OAuth2 client authentication (margaretha)
-	- changed virtual corpus search to retrieval (margaretha)
-	- implemented public client deregistration task (margaretha)
-	- added client registration and deregistration tests (margaretha)
-	- implemented confidential client deregistration task (margaretha)
-	- fixed storing client secret (margaretha)
-	- implemented OAuth2 response handler (margaretha)
-	- implemented OAuth2 request access token with client credentials grant (margaretha)
-	- implemented OAuth2 request access token with resource owner password grant (margaretha)
-	- implemented OAuth2 authorization code request (margaretha)
-	- added OAuth2 error codes (margaretha)
-	- added OAuth2 authorization, scope and access token tables for SQLite (margaretha)
-	- implemented OAuth2 authorization, scope and access token DAO (margaretha)
-	- implemented OAuth2 request access token with authorization code grant (margaretha)
-	- added setting default scopes in the config file (margaretha)
-	- fixed loading spring config multiple times in the test suite (margaretha)
-	- added SQLite created_date trigger for access token (margaretha)  
-	- added a join table for access token scopes (margaretha)
-	- added access scopes handling (margaretha)
-	- added tests about request token with authorization code (margaretha)
-	
+    - implemented OAuth2 client registration (margaretha)
+    - implemented OAuth2 client authentication (margaretha)
+    - changed virtual corpus search to retrieval (margaretha)
+    - implemented public client deregistration task (margaretha)
+    - added client registration and deregistration tests (margaretha)
+    - implemented confidential client deregistration task (margaretha)
+    - fixed storing client secret (margaretha)
+    - implemented OAuth2 response handler (margaretha)
+    - implemented OAuth2 request access token with client credentials grant (margaretha)
+    - implemented OAuth2 request access token with resource owner password grant (margaretha)
+    - implemented OAuth2 authorization code request (margaretha)
+    - added OAuth2 error codes (margaretha)
+    - added OAuth2 authorization, scope and access token tables for SQLite (margaretha)
+    - implemented OAuth2 authorization, scope and access token DAO (margaretha)
+    - implemented OAuth2 request access token with authorization code grant (margaretha)
+    - added setting default scopes in the config file (margaretha)
+    - fixed loading spring config multiple times in the test suite (margaretha)
+    - added SQLite created_date trigger for access token (margaretha)  
+    - added a join table for access token scopes (margaretha)
+    - added access scopes handling (margaretha)
+    - added tests about request token with authorization code (margaretha)
+    
 version 0.60.1
 28/03/2018
-	- added admin-related SQL codes (margaretha)
-	- updated AdminDao (margaretha)
-	- added optional username query parameter to group list controller (margaretha) 
-	- fixed non hierarchical URI of kustvakt conf files (margaretha)
-	- added delete group member triggers (margaretha)
-	- added list user-group by username and status for system admin (margaretha)
-	- added user-group status in user-group DTO (margaretha)
-	- added check for hidden groups in user-group tests (margaretha)
-	- added database trigger test on deleting members when deleting group (margaretha)
-	- renamed VC type PREDEFINED to SYSTEM (margaretha)
-	- added VC list controller for system admin (margaretha)
-	- added VC controller tests with for system admin (margaretha) 
-	- added hidden access removal when deleting published VC (margaretha)
-	- added check for hidden groups in VC controller tests (margaretha)
-	- added search user-group controller (margaretha)
-	- removed createdBy from VirtualCorpusJson (margaretha)
-	- moved member role setting from the invitation phase to the after-subscription phase (margaretha)
-	- added member role removal after deleting members (margaretha)
-	- added add and delete member role controllers (margaretha)
-	
+    - added admin-related SQL codes (margaretha)
+    - updated AdminDao (margaretha)
+    - added optional username query parameter to group list controller (margaretha) 
+    - fixed non hierarchical URI of kustvakt conf files (margaretha)
+    - added delete group member triggers (margaretha)
+    - added list user-group by username and status for system admin (margaretha)
+    - added user-group status in user-group DTO (margaretha)
+    - added check for hidden groups in user-group tests (margaretha)
+    - added database trigger test on deleting members when deleting group (margaretha)
+    - renamed VC type PREDEFINED to SYSTEM (margaretha)
+    - added VC list controller for system admin (margaretha)
+    - added VC controller tests with for system admin (margaretha) 
+    - added hidden access removal when deleting published VC (margaretha)
+    - added check for hidden groups in VC controller tests (margaretha)
+    - added search user-group controller (margaretha)
+    - removed createdBy from VirtualCorpusJson (margaretha)
+    - moved member role setting from the invitation phase to the after-subscription phase (margaretha)
+    - added member role removal after deleting members (margaretha)
+    - added add and delete member role controllers (margaretha)
+    
 version 0.60
 14/03/2018
-	- set up mail settings using localhost port 25 (margaretha)
-	- added mail template in kustvakt configuration (margaretha)
-	- added mail settings to readme (margaretha)
-	- disabled email notification for auto group (margaretha)
-	- added metadata retrieval (diewald)
-	- enabled custom implementation for email address retrieval (margaretha)
-	- removed old policy and deprecated code (margaretha)
-	- moved authentication related code to /full (margaretha)
-	- added userRoles attribute to UserGroupDto. (margaretha)
-	- fixed sqlite trigger (margaretha)
-	- fixed member exist error message (margaretha)
-	- fixed member invitation to join deleted group (margaretha)
-	- added checking deleted group (margaretha)
+    - set up mail settings using localhost port 25 (margaretha)
+    - added mail template in kustvakt configuration (margaretha)
+    - added mail settings to readme (margaretha)
+    - disabled email notification for auto group (margaretha)
+    - added metadata retrieval (diewald)
+    - enabled custom implementation for email address retrieval (margaretha)
+    - removed old policy and deprecated code (margaretha)
+    - moved authentication related code to /full (margaretha)
+    - added userRoles attribute to UserGroupDto. (margaretha)
+    - fixed sqlite trigger (margaretha)
+    - fixed member exist error message (margaretha)
+    - fixed member invitation to join deleted group (margaretha)
+    - added checking deleted group (margaretha)
 
-version 0.59.10	
+version 0.59.10    
 20/02/2018 
-	- added sort VC by id (margaretha)
-	- added test cases regarding VC sharing (margaretha)
-	- implemented withdraw VC from publication (margaretha)
-	- added Changes file (margaretha)
-	- implemented add/invite users to group (margaretha)
-	- implemented delete user-group and member tasks (margaretha)
-	- added userMemberStatus in group lists (margaretha)
-	- updated and added SQL test data (margaretha)
-	- added user group related tests (margaretha)
-	- implemented custom configuration for deleting user groups and members (margaretha)
-	- updated library versions and java environment (margaretha)
-	- added expiration time check for member invitation (margaretha)
-	- moved .properties files (margaretha) 
-	- merged changelog file to Changes (margaretha)
-	- updated status codes and error messages to be more detailed (margaretha)
-	- testing mail implementation using embedded jetty jndi (margaretha)
-	- fixed collection rewrite regarding OR operation with other fields (margaretha)
-	- implemented sending mail using spring injection and removed jetty jndi (margaretha)
-	- fixed unrecognized application/json (margaretha)
-	- fixed and updated velocity template (margaretha)
-	
+    - added sort VC by id (margaretha)
+    - added test cases regarding VC sharing (margaretha)
+    - implemented withdraw VC from publication (margaretha)
+    - added Changes file (margaretha)
+    - implemented add/invite users to group (margaretha)
+    - implemented delete user-group and member tasks (margaretha)
+    - added userMemberStatus in group lists (margaretha)
+    - updated and added SQL test data (margaretha)
+    - added user group related tests (margaretha)
+    - implemented custom configuration for deleting user groups and members (margaretha)
+    - updated library versions and java environment (margaretha)
+    - added expiration time check for member invitation (margaretha)
+    - moved .properties files (margaretha) 
+    - merged changelog file to Changes (margaretha)
+    - updated status codes and error messages to be more detailed (margaretha)
+    - testing mail implementation using embedded jetty jndi (margaretha)
+    - fixed collection rewrite regarding OR operation with other fields (margaretha)
+    - implemented sending mail using spring injection and removed jetty jndi (margaretha)
+    - fixed unrecognized application/json (margaretha)
+    - fixed and updated velocity template (margaretha)
+    
 version 0.59.9 
 19/01/2018
-	- restructured basic authentication (margaretha)
-	- fixed AuthenticationException to include authentication scheme (margaretha)
-	- fixed rewrite redundancy in collection rewrite (margaretha)
-	- fixed foundry rewrite for constituents (margaretha)
-	- introduced authentication methods, schemes and tokens (margaretha)
-	- implemented collection rewrite with multiple licenses (margaretha)
-	- fixed foundry rewrite for korap span without wrap node (margaretha)
-	- implemented list user group (margaretha)
-	- implemented delete VC task (margaretha)
-	- implemented create user-group, subscribe to user-groups, unsubscribe to user-groups tasks(margaretha)
-	- fixed handling JSON mapping exception for missing enums (margaretha)
+    - restructured basic authentication (margaretha)
+    - fixed AuthenticationException to include authentication scheme (margaretha)
+    - fixed rewrite redundancy in collection rewrite (margaretha)
+    - fixed foundry rewrite for constituents (margaretha)
+    - introduced authentication methods, schemes and tokens (margaretha)
+    - implemented collection rewrite with multiple licenses (margaretha)
+    - fixed foundry rewrite for korap span without wrap node (margaretha)
+    - implemented list user group (margaretha)
+    - implemented delete VC task (margaretha)
+    - implemented create user-group, subscribe to user-groups, unsubscribe to user-groups tasks(margaretha)
+    - fixed handling JSON mapping exception for missing enums (margaretha)
     - implemented list VC task (margaretha)
     - added KoralQuery in VC lists (margaretha)
-	- implemented edit VC task (margaretha)
-	- implemented publish VC task (margaretha)
+    - implemented edit VC task (margaretha)
+    - implemented publish VC task (margaretha)
     - implemented share VC task (margaretha)
     - implemented list only owned VC task (margaretha) 
     - implemented list VC access task (margaretha)
@@ -123,22 +127,22 @@
     
 version 0.59.8 
 21/09/2017
-	- restructured statistics service (margaretha)
-	- removed deprecated loader codes and tests (margaretha)
-	- removed old Spring java configurations (margaretha)
-	- implemented entity classes for the new database (margaretha)
-	- added MySQL codes regarding VC and for testing (margaretha)
-	- added dao methods regarding VC (margaretha)
-	- added similar SQL codes (to MySQL) for sqlite (margaretha)
-	- added dao methods regarding user groups (margaretha)
-	- restructured web-service codes into controller and logic/business-service(margaretha)
-	- implemented user role and privilege, and added tests (margaretha)
-	- prepared test suite using new database (margaretha)
-	- implemented UserGroupDao and tests (margaretha)
-	- fixed missing exceptions in JsonUtils (margaretha)
-	- restructured web filters and authentication codes (margaretha)
-	- implemented create/store VC (margaretha)
-	- fixed collection rewrite bug regarding availability with operation or (margaretha)    
+    - restructured statistics service (margaretha)
+    - removed deprecated loader codes and tests (margaretha)
+    - removed old Spring java configurations (margaretha)
+    - implemented entity classes for the new database (margaretha)
+    - added MySQL codes regarding VC and for testing (margaretha)
+    - added dao methods regarding VC (margaretha)
+    - added similar SQL codes (to MySQL) for sqlite (margaretha)
+    - added dao methods regarding user groups (margaretha)
+    - restructured web-service codes into controller and logic/business-service(margaretha)
+    - implemented user role and privilege, and added tests (margaretha)
+    - prepared test suite using new database (margaretha)
+    - implemented UserGroupDao and tests (margaretha)
+    - fixed missing exceptions in JsonUtils (margaretha)
+    - restructured web filters and authentication codes (margaretha)
+    - implemented create/store VC (margaretha)
+    - fixed collection rewrite bug regarding availability with operation or (margaretha)    
 
 version 0.59.7
 13/10/2016