wohali

+Clients
  • Content count

    179
  • Joined

  • Last visited

2 Followers

About wohali

  • Rank
    Member

IPS Marketplace

  • Resources Contributor
    Total file submissions: 5

Recent Profile Visitors

2,721 profile views
  1. Thanks for the update! Still very interested in this. One comment: A IPS4 widget that shows a list of currently streaming streams out of the list would be greatly appreciated, along with just a widget to show a given featured stream. We have a very large community of people and our streamers rotate regularly on and offline. I don't want to have to manually update the "featured" stream multiple times a day. An automatic system to do this would be fantastic.
  2. No, Discord only acts as an OAuth Server itself. It cannot be configured to act as an OAuth client in which the Discord server takes authentication and authorization information from an external source (like IPS4).
  3. I've just released v1.0.1 that fixes a problem with the cleanup task setup (invalid name) and adds a CSRF token check to the authorization form for added security.
    Shameless self-plug. I used this to integrate Rocket.Chat with our IPS4 community. It's a seamless integration, very smooth. Detailed instructions here:
  4. Thread is up, with full integration instructions posted:
  5. Here's how to configure the OAuth Server application to integrate IPS4 with Rocket.Chat. Rocket.Chat Install and setup Rocket.Chat. A walkthrough is beyond the scope of this guide. Create an initial administrator user and password, then login as that administrator. Administration > OAuth > Add Custom OAuth button (at the very bottom). Enter a unique identifier for this integration (ex: ips4) Find the Custom OAuth: <IPS4> section and expand it. Make a note of the Callback URL, e.g. https://your.rocketchat.com/_oauth/ips4 IPS4 Site ACP > Community > OAuth Server > Applications > Add Application. Enter a unique name for the integration (e.g. Rocket.Chat) and the Callback URL you obtained from Rocket.Chat above. Click Save. Select the user groups you wish to be able to authenticate against IPS4 for this integration. Do not select Guest! Click Save. Click on the Edit pencil again and take note of the Client ID, Client Secret, and 3 integration URLs. Rocket.Chat Change the following settings: Enabled: True URL: Top-level URL for your IPS4 site, such as https://your.ips4.com/. If your site is not installed at the root of the webserver, include any subdirectory here, such as https://mysite.com/ips4. Token Path: applications/oauth2server/interface/token.php Identity Path: applications/oauth2server/interface/me.php Authorization Path: applications/oauth2server/interface/authorize.php Token sent via: Payload or Header both work, it doesn't matter. ID: your Client ID from IPS4 here Secret: your Client Secret from IPS4 here Login Style: I recommend Popup Button settings as you wish. You may have to restart the Rocket.Chat server at this point. I had to, but I cannot guarantee that is is mandatory. Logout as Administrator and use the new button to log in as an IPS4 user. Log back in as the Administrator user and give admin access to your IPS4 user (#general chat > people icon on the right > click on user > MAKE ADMIN). (Optional) Disable username/password login for Rocket.Chat: Administration > Accounts > Show Form-based Login set to False. WARNING: Do not do this until you have made at least one IPS4 user an administrator or you will lose admin access to your Rocket.Chat server! Please post in this thread if you were able to follow these instructions to integrate your Rocket.Chat server with IPS4!
  6. This is the support topic for the OAuth Server application. This application adds an OAuth2 server to your IPS Community Suite 4 installation. This allows external applications to authenticate and authorize against your IPS4 membership. Administrators looking to integrate external applications with their IPS4 site via OAuth2 can register those applications with the IPS4 Admin Control Panel (ACP). Permissions can be set to allow only certain specific user groups to use the OAuth gateway. The source code is public (GPLv2 license) at https://github.com/wohali/ips4-oauth2-server. Pull requests and issues are welcome. issues and questions can also be posted to this support thread. Installation Download the latest version of OAuth2 Server for IPS4. Unzip the archive and locate the oauth2server.tar file. Navigate to your site's Application list (ACP > System > Site Features > Applications). Click the Install button and upload the oauth2server.tar file. Application configuration Visit the settings panel under ACP > Community > OAuth2 Server > Applications. Click the Add Application button. Enter your application's name and its Redirect URI. The Redirect URI is typically found in your application's OAuth settings or documentation. Click Save. Select the user groups you wish to be able to authenticate and authorize At the list of Applications, click on the Edit pencil. Take note of the application's Client ID, Client Secret, and Authorization, Access Token, and Profile URLs. Your application will need all of these values to complete its OAuth configuration. I'd like to encourage anyone who uses this application to integrate IPS4 with another app to post in this thread, and show any configuration steps you had to go through. I'll be following up to this post with another showing how to use OAuth Server to integrate IPS4 with Rocket.Chat.
  7. The integration publishes the avatar as part of the provided user profile, but not all OAuth applications consume that information in a meaningful fashion. As an example, Rocket.Chat does not. (It has special-cased avatar support for named OAuth providers like GitHub and Google+, sadly...) Sadly, Discord only acts as an OAuth2 Server itself. It will not act as an OAuth2 client application, which is what you'd need to authenticate from IPS4 data. I'd charge for it, except that the OAuth2 library I'm using is GPL2, and the IP.B v3.x OAuth2 server upon which I based it is also GPL2. As an open source developer I don't feel it's right to charge people for GPL code, even though I could do so. If you are suitably inspired to pay me for it, send me a PM and we can work something out. I'm about to start the support topic and post a detailed HOWTO walkthrough of integrating Rocket.Chat with IPS4. Both posts should be online within the hour.
  8. Hey @Flitterkill, I've just completed integration of Rocket.Chat with IPS4 through an OAuth gateway for our community. I've submitted the integration for publication here in the Marketplace and will be writing up how to set up the Rocket.Chat integration once the file is accepted for publication (after the holiday weekend). If you're eager to try it out on your own, you can download my integration directly from GitHub at https://github.com/wohali/ips4-oauth2-server/releases.
  9. OAuth Server

    Version 1.0.1

    26 downloads

    This adds an OAuth2 server to your IPS Community Suite 4 installation. This allows external applications to authenticate and authorize against your IPS4 membership. Administrators looking to integrate external applications with their IPS4 site via OAuth2 can register those applications with the IPS4 Admin Control Panel (ACP). Permissions can be set to allow only certain specific user groups to use the OAuth gateway. The source code is public (GPLv2 license) at https://github.com/wohali/ips4-oauth2-server. Pull requests and issues are welcome.

    Free

  10. Just updated to IPS 4.1.12, and am now receiving this error when forms are submitted: Fatal error: Cannot access protected property IPS\Email\Outgoing\Php::$subject in ...../applications/form/sources/Alerts/Alerts.php on line 184
  11. For a raffle system to work the way I want it, we need: A way for people to buy raffle tickets A way for raffle runners to "call" the raffle (i.e., draw winners for the prizes to be awarded) Previously I used the ibEconomy "store" to provide both of these things. Anyone could buy a ticket using points they had on the website (and, ibEconomy provided a number of ways to get points, from simply participating on the website to Nexus integration to buy points with cash). I also used the store to provide admins with a way to "call" the raffle using a unique item that, when "used," would provide that functionality. With 4.x, there currently is a Points Economy system from Kevin Carwile that provides a basic points system for websites. The problem is that it has no storefront functionality - just points, and integration with his Automation Rules system to allow you the ability to define ways to award points based on trigger conditions from the website. It provides only half of what ibEconomy did, and for that half to function well, you have to buy the Automation Rules functionality (since he only offers 10 rules in the free/demo version.) For me to code up a raffle system that works with the Points Economy system, I effectively have to code my own store...which is more work than I'm keen to sign up for right now. I'm considering it, but so far inertia has won. For me to code up a raffle system that works without Points Economy, I have to build the entire infrastructure to handle how tickets are purchased, etc. and I'm not interested in that at all.
  12. As requested, v1.0.1 has been uploaded. The only change is a new AdminCP toggle setting that restricts the badges displayed to those of the current collab only. You can still display multiple role badges within a collab if you increase the Max Roles per Membership to display higher than 1.
  13. Not in the original release. Do you want only the badge for Collab A to appear while in Collab A, but none of the other Collab badges (B, C, D)? Or do you just want no collab badges to appear in the regular area, but all of the badges to appear when inside of any collab?
  14. If you use only Youtube links, I've found a simple backend change in IP.Content can work. It only works if you had a 3.x site with IP.Content and upgraded to 4.x. Here are my notes for how I managed to convert an upgraded site's video database into a 4.x functional database: Upgrade from 3.x to 4.x. Using a SQL tool (such as HeidiSQL) navigate to your cms_database_fields table. Find the "Media" row from the field_key column, and look for the field_type of mt_ccs_media Change the field_type to Youtube In the ACP, find this Youtube media field and set it to be the "Content" type field for the database. That's it. It doesn't fully restore all functionality, but it at least provides the basics....