{"id":34638701,"url":"https://github.com/generoi/tupas","last_synced_at":"2026-03-14T09:06:57.163Z","repository":{"id":147858779,"uuid":"49168857","full_name":"generoi/tupas","owner":"generoi","description":"Fork of Tupas ","archived":false,"fork":false,"pushed_at":"2016-01-06T23:49:42.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"7.x-1.x","last_synced_at":"2025-05-30T13:49:49.671Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.drupal.org/project/tupas","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/generoi.png","metadata":{"files":{"readme":"README.txt","changelog":"CHANGELOG.txt","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-06T23:48:01.000Z","updated_at":"2016-01-06T23:50:59.000Z","dependencies_parsed_at":"2023-04-17T20:30:58.069Z","dependency_job_id":null,"html_url":"https://github.com/generoi/tupas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/generoi/tupas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Ftupas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Ftupas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Ftupas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Ftupas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/generoi","download_url":"https://codeload.github.com/generoi/tupas/tar.gz/refs/heads/7.x-1.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Ftupas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28005414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-24T17:12:48.588Z","updated_at":"2025-12-24T17:12:49.026Z","avatar_url":"https://github.com/generoi.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Description\n-----------\n\nTUPAS Authentication module is a general tool for enabling strong session-based authentication in Drupal web applications.\n\nTUPAS is an authentication service provided by the Federation of Finnish Financial Services (www.fkl.fi) and supported by most of the Finnish banks. Read more about TUPAS from https://myacc.tut.fi/tupas/docs/TUPAS_V22_eng.pdf.\n\nThe module grants a role to an authenticated user for a given period of time. Within that time, the user has a permission (created by the module upon installation) to access areas restricted to users with that permission.\n\nThe module comes with a test module (tupas_test) for testing the functionality and as a basic example of how to use the authentication module.\n\n\nInstallation\n------------\n\n1) Extract the .zip to your modules directory.\n2) Enable the TUPAS authentication module (optionally you can enable the TUPAS test module as well to test the  functionality).\n\n\nUsage\n-----\n\n1) Configuring the bank and general settings\n\t1.1) Bank settings\n\t\t1.1.1) Editing existing banks\n\t\t\t- There are some banks inserted upon installation with test values. Use them with the TUPAS test module\n\t\t\t- The banks can be enabled/disabled and their settings can be changed.\n\t\t1.1.2) Adding a new bank\n\t\t\t- Fill the values of the new bank form and click Save.\n\t\t1.1.3) Removing banks\n\t\t\t- Banks can be removed from the system by checking the Delete checkbox and clicking Save.\n\t1.2) General settings\n\t\t1.2.1) Session length\n\t\t\t- Insert session length in minutes. 0 for unlimited session that expires only on logout.\n\t\t1.2.2) Identification type\n\t\t\t- Type of the identification sent back from the bank. See the TUPAS documentation for details.\n\t\t1.2.3) Return handler\n\t\t\t- This is the most important part. In your module utilizing the TUPAS module, you must provide a menu item with a page callback and two page arguments. Enter the menu item name here. See the TUPAS test module code for details.\n\t\t1.2.4) Canceled transaction\n\t\t\t- Enter a menu item where the user will be redirecter after a canceled transaction.\n\t\t1.2.5) Rejected transaction \n\t\t\t- Enter a menu item where the user will be redirecter after a rejected transaction (authentication failed).\n\t\t1.2.6) Expired authentication\n\t\t\t- Enter a menu item where the user will be redirecter after the authentication period has expired.\n2) Using the module\n\tMuch of the module's functionality is described in the source code of the modules. They are probably the best source for developer information at this point. Basically the flow goes like this:\n\t\t1. The bank forms are built by calling the form functions of the module for each enabled bank.\n\t\t2. The user clicks one of the bank buttons and authenticates with his/her credentials.\n\t\t3. The user is then redirected to the return handler page defined in 1.2.3. The return handler calls the tupas_return() function that parses the return data from the bank and determines if the authentication was successful or not. If it was, the return data is returned to the return handler and the user is granted a role for the given period of time.\n\t\t4. When the authentication period has passed (or the user logs out), the role is removed from the user.\n\t\t\n\t\t\nAuthor\n------\nLauri Kolehmainen \u003chttp://drupal.org/user/436736\u003e\nJuha Niemi \u003chttp://drupal.org/user/157732\u003e\nSampo Turve \u003chttp://drupal.org/user/669530\u003e\n\nCredits\n-------\nExove Ltd (www.exove.com)\nVesa Palmu / Moana (www.moana.fi)\nThe Finnish Red Cross (www.punainenristi.fi)\nMearra (www.mearra.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneroi%2Ftupas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeneroi%2Ftupas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneroi%2Ftupas/lists"}