{"id":13339932,"url":"https://github.com/uPortal-Project/WebproxyPortlet","last_synced_at":"2025-03-11T15:31:50.241Z","repository":{"id":2725603,"uuid":"3720500","full_name":"uPortal-Project/WebproxyPortlet","owner":"uPortal-Project","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-18T21:37:37.000Z","size":9411,"stargazers_count":15,"open_issues_count":20,"forks_count":30,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-10-24T02:35:25.634Z","etag":null,"topics":["gateway-sso","hacktoberfest","java","portal","portlet","uportal","uportal-start-bundled","web-proxy"],"latest_commit_sha":null,"homepage":"","language":"Java","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/uPortal-Project.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2012-03-14T18:06:27.000Z","updated_at":"2024-07-26T21:48:28.000Z","dependencies_parsed_at":"2024-03-13T00:25:36.736Z","dependency_job_id":"812b930d-3ab2-42b2-bd89-384e1e91ee84","html_url":"https://github.com/uPortal-Project/WebproxyPortlet","commit_stats":null,"previous_names":["jasig/webproxyportlet"],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uPortal-Project%2FWebproxyPortlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uPortal-Project%2FWebproxyPortlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uPortal-Project%2FWebproxyPortlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uPortal-Project%2FWebproxyPortlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uPortal-Project","download_url":"https://codeload.github.com/uPortal-Project/WebproxyPortlet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243059706,"owners_count":20229619,"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":["gateway-sso","hacktoberfest","java","portal","portlet","uportal","uportal-start-bundled","web-proxy"],"created_at":"2024-07-29T19:21:21.882Z","updated_at":"2025-03-11T15:31:49.453Z","avatar_url":"https://github.com/uPortal-Project.png","language":"Java","readme":"**IMPORTANT NOTE:  The old v1 code is now on the rel-1-patches branch.  The v2 branch has merged into master!**\n\n# Web Proxy Portlet\n\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.jasig.portlet.proxy/WebProxyPortlet/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.jasig.portlet.proxy/WebProxyPortlet)\n[![build status](https://github.com/uPortal-Project/WebproxyPortlet/workflows/CI/badge.svg?branch=master)](https://github.com/uPortal-Project/WebproxyPortlet/actions)\n[![Code Climate](https://codeclimate.com/github/uPortal-Project/WebproxyPortlet/badges/gpa.svg)](https://codeclimate.com/github/uPortal-Project/WebproxyPortlet)\n[![codeclimate.com Issue Count](https://codeclimate.com/github/uPortal-Project/WebproxyPortlet/badges/issue_count.svg)](https://codeclimate.com/github/uPortal-Project/WebproxyPortlet)\n\n[Link to old documentation](https://wiki.jasig.org/display/PLT/WebProxy)\n\n## Table of Contents\n  - [Description](#desc)\n  - [Feature Overview](#features)\n  - [Usage / Common Uses](#usage)\n  - [User Preferences](#prefs)\n  - [Installation](#install)\n  - [Configuration](#config)\n    - [Portal Overlay Configuration](#overlay)\n    - [Portlet Instance Configuration](#portlet_config)\n  - [Where to Get Help](#help)\n  - [Contribution Guidelines](#contrib)\n  - [License](#license)\n\n## \u003ca name=\"desc\"\u003e\u003c/a\u003e Description\nThis project encompasses four portlets: Web Proxy Portlet, Gateway SSO, XSLT Portlet and JSON Portlet.\n\nThe Web Proxy Portlet is used to incorporate arbitrary web content as a portlet. It provides mechanisms for connecting\nto and rendering HTML with options for clipping, maintaining session information, and handling cookies. Proxied content\nis rendered within the portlet window.  Web Proxy Portlet is often used to incorporate web content or applications that\nare built and run in non-Java environments allowing a site flexibility for integrating content with many different\ntechnologies.\n\nWebproxyPortlet v2 Gateway SSO is a feature that allows uPortal to sign on to any remote system even if the remote system\ndoes not share any authentication information with uPortal.  Gateway SSO will submit login information to the remote\nsystem and then redirect to that remote system.  Other SSO solution assume that uPortal has authenticated to some system,\nsuch as CAS and will then trust CAS to say the user is authenticated.  In this system, the authentication information is\nsubmitted to the remote system invisible to the user.  This solution has the inherent risks of sending user authentication\ninformation over the wire, rather than a security token, but this solution does not require external systems to implement\nCAS or another authentication system.  It is therefore nearly invisible to any external system to which uPortal would want\nto connect.\n\nXSLT Portlet takes an XML source and transforms it with an XSLT source into HTML that can be rendered as content. The XML\ncan be placed in the classpath or on a web server. Similary, the XSLT source can also be a file placed on the classpath\nor on a web server.\n\nJSON Portlet is very similar to XLST Portlet except the source is JSON and the output is defined via JSP rather than\nan XLST transformation.\n\n## \u003ca name=\"features\"\u003e\u003c/a\u003e Feature Overview\nWeb Proxy Portlet\n  - Session handling\n  - Clipping to get subsections of the targeted URL\n  - Uses AJAX to request and replace portlet content from whitelist of proxy URLs\n\nGateway SSO\n  - Log into remote services for users based on user attributes\n\nXSLT Portlet\n  - Uses XSLT to transform XML into renderable output\n\nJSON Portlet\n  - Uses JSPs to render JSON into renderable output\n\n## \u003ca name=\"usage\"\u003e\u003c/a\u003e Usage / Common Uses\nIt is very common for a University with skills in PHP, Ruby, or other technologies to create small webapps/pages\nspecifically to expose content in a page meant to be consumed exclusively by the Web Proxy Portlet to render in the\nportal. This allows the portal to apply styling to the proxied content so the rendered content fits in well with the\noverall portal look and feel. This is one advantage over using an iframe where the styling of the content would have to\nbe modified in the system the content is obtained from.\n\nGateway SSO allows services to be brought into the portal that require a login form.\n\nXSLT Portlet is an excellent solution when a back-end service provides XML output via an API. This output could then\nbe styled in a portlet window for user viewing.\n\nJSON Portlet is a great tool to render JSON from a back-end API to styled content for users.\n\n## \u003ca name=\"prefs\"\u003e\u003c/a\u003e User Preferences\nThese portlets are rarely configured to allow users to modify any preferences; however, there is some support in the\nGateway Portlet to supply user preferences for form field values.\n\n## \u003ca name=\"install\"\u003e\u003c/a\u003e Installation\nThis project is published to Maven Central and can be installed with uPortal\nusing the Portal Overlay Configuration section below.\n\n## \u003ca name=\"config\"\u003e\u003c/a\u003e Configuration\nPortlets are web applications that sit inside a larger, aggregating project, the portal.\nConfiguration of different concerns is often performed by deployment engineers,\nportal administrators, and end-users. End-User configuration is addressed\nin User Preferences. Deployment and portal-wide configuration is described below.\n\n### \u003ca name=\"overlay\"\u003e\u003c/a\u003e Portal Overlay Configuration\nThis project is already included with uPortal. To upgrade in uPortal 4.x, simply change the version\nused in the top-level `pom.xml`:\n\n```xml\n        \u003cWebProxyPortlet.version\u003e2.3.2\u003c/WebProxyPortlet.version\u003e\n```\n\nFor uPortal 5, change the version in `gradle.properties` in uPortal-start:\n\n```properties\nwebProxytPortletVersion=2.3.2\n```\n\n### \u003ca name=\"portlet_config\"\u003e\u003c/a\u003e Portlet Instance Configuration\nWeb Proxy Portlet\n  - [Web Proxy Use Cases](/docs/wpp_usage.md)\n  - [Web Proxy Configuration](/docs/wpp_config.md)\n\nGateway SSO\n  - [Gateway Configuration](/docs/gateway_config.md)\n\nXSLT Portlet\n  - [XSLT Portlet Configuration](/docs/xslt_config.md)\n\nJSON Portlet\n  - [JSON Portlet Configuration](/docs/json_config.md)\n\n## \u003ca name=\"help\"\u003e\u003c/a\u003e Where to Get Help\nThe \u003cuportal-user@apereo.org\u003e mailing list is the best place to go with\nquestions related to Apereo portlets and uPortal.\n\nIssues should be reported at \u003chttps://issues.jasig.org/browse/WPP\u003e.\nCheck if your issue has already been reported. If so, comment that you are also\nexperiencing the issue and add any detail that could help resolve it. Feel free to\ncreate an issue if it has not been reported. Creating an account is free and can be\ninitiated at the Login widget in the default dashboard.\n\n## \u003ca name=\"contrib\"\u003e\u003c/a\u003e Contribution Guidelines\nApereo requires contributors sign a contributor license agreement (CLA).\nWe realize this is a hurdle. To learn why we require CLAs, see\n\"Q5. Why does Apereo require Contributor License Agreements (CLAs)?\"\nat \u003chttps://www.apereo.org/licensing\u003e.\n\nThe CLA form(s) can be found \u003chttps://www.apereo.org/licensing/agreements\u003e along\nwith the various ways to submit the form.\n\nContributions will be accepted once the contributor's name appears at\n\u003chttp://licensing.apereo.org/completed-clas\u003e.\n\nSee \u003chttps://www.apereo.org/licensing\u003e for details.\n\n## \u003ca name=\"license\"\u003e\u003c/a\u003e License\n\nCopyright 2016 Apereo Foundation, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this project except in compliance with the License.\nYou may obtain a copy of the License at\n\n\u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\nSee \u003chttps://www.apereo.org/licensing\u003e for additional details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FuPortal-Project%2FWebproxyPortlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FuPortal-Project%2FWebproxyPortlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FuPortal-Project%2FWebproxyPortlet/lists"}