{"id":229690,"date":"2025-04-30T20:03:56","date_gmt":"2025-04-30T20:03:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/zynatic-authentication\/"},"modified":"2026-03-14T18:01:20","modified_gmt":"2026-03-14T18:01:20","slug":"zynatic-authentication","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/zynatic-authentication\/","author":20947823,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.10.2","stable_tag":"trunk","tested":"6.9.4","requires":"4.6","requires_php":"7.4","requires_plugins":null,"header_name":"Zynatic Authentication","header_author":"Stig Ekstr\u00f6m, Zynatic AB","header_description":"This plugin enable authentication from Zynatic Medlemsregister.","assets_banners_color":"","last_updated":"2026-03-14 18:01:20","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.zynatic.se\/","header_plugin_uri":"https:\/\/www.zynatic.se\/","header_author_uri":"http:\/\/www.zynatic.se\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":882,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.10.0":{"tag":"1.10.0","author":"zynaticstig","date":"2026-01-17 20:15:02"},"1.10.1":{"tag":"1.10.1","author":"zynaticstig","date":"2026-03-13 10:21:49"},"1.7.13":{"tag":"1.7.13","author":"zynaticstig","date":"2025-04-30 20:17:04"},"1.8.2":{"tag":"1.8.2","author":"zynaticstig","date":"2025-05-02 13:39:35"},"1.8.3":{"tag":"1.8.3","author":"zynaticstig","date":"2025-05-05 14:35:38"},"1.8.4":{"tag":"1.8.4","author":"zynaticstig","date":"2025-05-06 10:07:38"},"1.8.5":{"tag":"1.8.5","author":"zynaticstig","date":"2025-05-13 14:50:36"},"1.8.6":{"tag":"1.8.6","author":"zynaticstig","date":"2025-05-15 14:41:38"},"1.9.0":{"tag":"1.9.0","author":"zynaticstig","date":"2025-05-27 10:03:49"},"1.9.1":{"tag":"1.9.1","author":"zynaticstig","date":"2025-05-28 18:34:49"},"1.9.2":{"tag":"1.9.2","author":"zynaticstig","date":"2025-06-04 19:30:07"}},"upgrade_notice":{"1.0":"<p>First version<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3285233,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3285233,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3285233,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.10.0","1.10.1","1.7.13","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.9.0","1.9.1","1.9.2"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[710,241630,241629],"plugin_category":[38],"plugin_contributors":[241631],"plugin_business_model":[],"class_list":["post-229690","plugin","type-plugin","status-publish","hentry","plugin_tags-authentication","plugin_tags-medlemsregister","plugin_tags-zynatic","plugin_category-authentication","plugin_contributors-zynaticstig","plugin_committers-zynaticstig"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/zynatic-authentication\/assets\/icon.svg?rev=3285233","icon":"https:\/\/ps.w.org\/zynatic-authentication\/assets\/icon.svg?rev=3285233","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin enable authentication from Zynatic Medlemsregister by wp_remote_get call to https:\/\/www.zynatic.se\/\nThe authentication is performed in several steps to reduce the risk of leakage of user credentials\n1. WordPress sends an initiate to https:\/\/www.zynatic.se\/ and receives a public key in the responce\n2. WordPress encrypts user credentials using the received public key\n3. WordPress sends the encrypted credentials to https:\/\/www.zynatic.se\/\n4. https:\/\/www.zynatic.se\/ decrypt the credentials using its own secret key and validate credentials\n5. https:\/\/www.zynatic.se\/ sends a responce informing if the credentials is validated correctly and the user is allowed to login<\/p>\n\n<p>The user is created in https:\/\/www.zynatic.se\/ if the username is missing in https:\/\/www.zynatic.se\/, the credentials are validated\nok in WordPress and the name are equal in https:\/\/www.zynatic.se\/ and WordPress.\nThe user is created in WordPress if the user credentials is validated ok in https:\/\/www.zynatic.se\/ and the user is missing in WordPress.\nA WordPress super admin user is granted access in WordPress even if the user is missing in https:\/\/www.zynatic.se\/.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to an API to verify user credentials, it's needed to verify credentials in Zynatic Medlemsregister. \nThe user credentials are sent to https:\/\/www.zynatic.se\/ for validation during the login process in WordPress.<\/p>\n\n<p>It sends the user's credentials, usernamne, password and secret key, encrypted using a public key received from Zynatic Medlemsregister. The public encryption key is unique for each login attempt.<\/p>\n\n<p>The required initial parameters KundId (customer id) and Token is provided by Zynatic AB.<\/p>\n\n<p>This service is provided by \"Zynatic AB\": https:\/\/www.zynatic.se\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Installera detta till\u00e4gg i Wordpress menyn \"Till\u00e4gg\" (Plugins)<\/li>\n<li>Klicka p\u00e5 \"L\u00e4gg till nytt\"<\/li>\n<li>Klicka p\u00e5 \"Ladda upp till\u00e4gg\"<\/li>\n<li>Klicka p\u00e5 \"V\u00e4lj fil\" och leta reda p\u00e5 filen zynatic-authentication.zip<\/li>\n<li>Klicka p\u00e5 \"Installera nu\"<\/li>\n<li>Klicka p\u00e5 \"Aktivera till\u00e4gget\"<\/li>\n<li>V\u00e4lj \"Inst\u00e4llningar\" i Wordpress menyn<\/li>\n<li>V\u00e4lj \"Zynatic Medlemsregister\"<\/li>\n<li>Skriv in token och kundid som Zynatic AB tillhandah\u00e5ller<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>First version.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added the paramater allow_create to make it possible to turn off the creation of user and member in Zynatic Medlemsregister.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added code to give subscriber right to see private pages.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Added logout function<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Corrected use of wp admin login<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Corrected settings of \"Skapa anv\u00e4ndare\"<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Handling of initial failure when contacting Zynatic<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Minor correction<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Check email if name check fails<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Try to select user from meta data ZynaticID<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Corrected creation of user in WordPress<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Added two-factor authentisation<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Added reading Zynatic session variables<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Board member allowed to login even if fee not is payed<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Error handling improved<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Allow user with administrator role to log in if not found in Zynatic<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Removed the use of interface files in the directory zynatic_medlemsregister<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Minor corrections<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Close session after accessing session variables.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Added page templates for resticted access to pages.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Added role selection for members of the board<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>User created during login is set the defined role<\/li>\n<\/ul>\n\n<h4>1.7.2<\/h4>\n\n<ul>\n<li>Minor corrections for two factor input field.<\/li>\n<li>Removed fallback action for 'wp_authenticate_email_password'.<\/li>\n<\/ul>\n\n<h4>1.7.3<\/h4>\n\n<ul>\n<li>Removed the 'Remember me' check box on login page<\/li>\n<\/ul>\n\n<h4>1.7.4<\/h4>\n\n<ul>\n<li>Error handling improved<\/li>\n<\/ul>\n\n<h4>1.7.5<\/h4>\n\n<ul>\n<li>Error corrections<\/li>\n<\/ul>\n\n<h4>1.7.6<\/h4>\n\n<ul>\n<li>Error corrections<\/li>\n<\/ul>\n\n<h4>1.7.7<\/h4>\n\n<ul>\n<li>Error corrections<\/li>\n<\/ul>\n\n<h4>1.7.8<\/h4>\n\n<ul>\n<li>Renamed the plugin to 'Zynatic Authentication'<\/li>\n<\/ul>\n\n<h4>1.7.9<\/h4>\n\n<ul>\n<li>Added one more wp_unslash and removed a phpcs:ignore at that place<\/li>\n<\/ul>\n\n<h4>1.7.10<\/h4>\n\n<ul>\n<li>Updates after initial review from wordpress.org<\/li>\n<\/ul>\n\n<h4>1.7.11<\/h4>\n\n<ul>\n<li>Updates after review from wordpress.org<\/li>\n<\/ul>\n\n<h4>1.7.12<\/h4>\n\n<ul>\n<li>Error corrections<\/li>\n<\/ul>\n\n<h4>1.7.13<\/h4>\n\n<ul>\n<li>Updates after review from wordpress.org<\/li>\n<\/ul>\n\n<p>= 1.8.0\n* Lagt till en parameter i inst\u00e4llningarna f\u00f6r att markera vilka administrat\u00f6rsinloggningar \n* som till\u00e5ts logga in utan att motsvarande anv\u00e4ndare finns i medlemsregistret eller att\n* uppkopplingen mot medlemsregistret inte fungerar.<\/p>\n\n<p>= 1.8.1\n* Reworked the code to secure authentication process<\/p>\n\n<p>= 1.8.2\n* Corrected error when opening login page<\/p>\n\n<p>= 1.8.3\n* Error correction<\/p>\n\n<p>= 1.8.4\n* Error correction<\/p>\n\n<p>= 1.8.5\n* Better error message when failed to store user in WordPress<\/p>\n\n<p>= 1.8.6\n* Secure that user meta data is stored when creating new user in WordPress<\/p>\n\n<p>= 1.9.0\n* Trying to prevent brute force attack by addin delays on failed attempt after two failed attempts\n* from same ip-address during the last ten minutes<\/p>\n\n<p>= 1.9.1\n* Added captcha for too many failed login attempts from same ip-address<\/p>\n\n<p>= 1.9.2\n* Allow external call to zynaau_login_form_extras in custom login-form<\/p>\n\n<p>=1.10.0\n* Aktivated \"Remember me\" with expiration time defined in Zynatic for members<\/p>\n\n<p>=1.10.1\n* Corrected the captcha image<\/p>\n\n<p>=1.10.2\n* Corrected the readme file<\/p>","raw_excerpt":"This plugin enable authentication from Zynatic Medlemsregister.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/229690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=229690"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/zynaticstig"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=229690"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=229690"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=229690"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=229690"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=229690"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=229690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}