{"id":21310800,"url":"https://github.com/oetiker/mojolicious-plugin-gssapi","last_synced_at":"2025-03-15T20:29:12.093Z","repository":{"id":138122808,"uuid":"350400362","full_name":"oetiker/mojolicious-plugin-gssapi","owner":"oetiker","description":"Kerberos login for Mojolicious apps","archived":false,"fork":false,"pushed_at":"2021-03-23T08:32:34.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-22T09:42:12.794Z","etag":null,"topics":["gssapi","kerberos","mojolicious","perl"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oetiker.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-22T15:47:05.000Z","updated_at":"2021-03-23T08:32:36.000Z","dependencies_parsed_at":"2023-03-15T22:45:35.626Z","dependency_job_id":null,"html_url":"https://github.com/oetiker/mojolicious-plugin-gssapi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oetiker%2Fmojolicious-plugin-gssapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oetiker%2Fmojolicious-plugin-gssapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oetiker%2Fmojolicious-plugin-gssapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oetiker%2Fmojolicious-plugin-gssapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oetiker","download_url":"https://codeload.github.com/oetiker/mojolicious-plugin-gssapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243790255,"owners_count":20348371,"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","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":["gssapi","kerberos","mojolicious","perl"],"created_at":"2024-11-21T17:14:42.639Z","updated_at":"2025-03-15T20:29:12.087Z","avatar_url":"https://github.com/oetiker.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nMojolicious::Plugin::GSSAPI - Provide Kerberos authentication.\n\n# SYNOPSIS\n\n```perl\nuse Mojolicious::Lite;\n\nplugin 'GSSAPI';\n\nget '/' =\u003e sub ($c) {\n   my $user = $c-\u003egssapi_auth or return;\n   $c-\u003erender(text=\u003e'hello '.$user);\n};\napp-\u003estart;\n```\n\n# DESCRIPTION\n\nThe \\`Mojolicious::Plugin::GSSAPI\\` plugin lets you use kerberos authentication\nin your mojo app. The plugin uses\nthe [GSSAPI](https://metacpan.org/pod/GSSAPI) module for the heavy lifting.\n\nIf you want to use kerberos to SSO in a webproxy, use the `web_proxy_mode` option:\n\n```perl\nplugin 'GSSAPI',web_proxy_mode =\u003e 1;\n```\n\nThe included example script `gssapi-demo.pl` shows how to use the plugin\nto implement Kerberos SSO authentication for a [Mojolicious::Lite](https://metacpan.org/pod/Mojolicious%3A%3ALite) web application.\n\nIf your machine is not yet part of the AD Domain, get it added to the ad server especially the dns entry including reveres lookup is important.\n\nThen, make sure the `/etc/resolv.conf` or `/etc/systemd/resolved.conf` points to your ad server.\n\nFor some reason it seems best to have the ad server also added to your `/etc/hosts` file.\n\nAdd the ad \\`realm\\` to the `/etc/krb5.conf` file\n\n```\n[libdefaults]\n   default_realm = MY-AD.DOMAIN\n```\n\nNow use the \\`adcli\\` tool to join the AD domain and add a \\`http\\` service entry.\n\n```perl\nadcli join \\\n   --login-type user \\\n   --login-user Administrator \\\n   --domain-controller adserver.my-ad.domain \\\n   --service-name http\n```\n\nIf you do not have the Administrator password for your AD server, you may also get a 'one-time-password' from your friendly ad admin person to join your machine to the AD domain.\n\nAnd now about actually testing the plugin: \n\n```\n$ perl Makefile.PL\n$ make 3rd\n$ sudo ./eg/gssapi-demo.pl deamon\n```\n\nThe sudo in the example above is necessary for the app to be able to read information from the `/etc/krb5.keytab`. You could also provide the demo with a copy of the file and use `export KRB5CCNAME=/opt/demo/my.keytab` to tell the demo where to find the keytab file.\n\nFor your browser todo kerberos sso, you will have to let it know that your test machine is part of the 'realm'. On windows this is done by adding the name of your linux box to \"Internet Properties -\u003e Security -\u003e Local intranet -\u003e Sites -\u003e Advanced\"\n\n# COPYRIGHT\n\nCopyright OETIKER+PARTNER AG 2021. All rights reserved.\n\n# LICENSE\n\nThis library is free software; you can redistribute it and/or modify\nit under the same terms as Perl itself.\n\n# AUTHOR\n\nTobias Oetiker \u003ctobi@oetiker.ch\u003e\n\n# HISTORY\n\n```\n2021-03-22 to 0.1.0 initial version\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foetiker%2Fmojolicious-plugin-gssapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foetiker%2Fmojolicious-plugin-gssapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foetiker%2Fmojolicious-plugin-gssapi/lists"}