{"id":304726,"date":"2026-05-15T22:17:22","date_gmt":"2026-05-15T22:17:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/jotcast-live-chats\/"},"modified":"2026-05-15T22:17:06","modified_gmt":"2026-05-15T22:17:06","slug":"jotcast-live-chats","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/jotcast-live-chats\/","author":23487398,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"JotCast Live Chats","header_author":"JotCast","header_description":"Automatically logs WordPress users into JotCast chat embeds using zero-click SSO.","assets_banners_color":"8caf5c","last_updated":"2026-05-15 22:17:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.jotcast.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"jotcast","date":"2026-05-15 22:17:06"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3533459,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3533459,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3533459,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3533459,"resolution":"1","location":"assets","locale":"","width":1177,"height":699},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3533459,"resolution":"2","location":"assets","locale":"","width":827,"height":1012}},"screenshots":{"1":"The JotCast Live Chats settings page showing a connected account and chat visibility options.","2":"A JotCast chat embedded on a WordPress post with a user automatically signed in via SSO."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[10122,2379,1932,263123,2469],"plugin_category":[58],"plugin_contributors":[263124],"plugin_business_model":[],"class_list":["post-304726","plugin","type-plugin","status-publish","hentry","plugin_tags-group-chat","plugin_tags-live-chat","plugin_tags-membership","plugin_tags-moderated-chat","plugin_tags-sso","plugin_category-user-management","plugin_contributors-jotcast","plugin_committers-jotcast"],"banners":{"banner":"https:\/\/ps.w.org\/jotcast-live-chats\/assets\/banner-772x250.png?rev=3533459","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/jotcast-live-chats\/assets\/icon-128x128.png?rev=3533459","icon_2x":"https:\/\/ps.w.org\/jotcast-live-chats\/assets\/icon-256x256.png?rev=3533459","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/jotcast-live-chats\/assets\/screenshot-1.png?rev=3533459","caption":"The JotCast Live Chats settings page showing a connected account and chat visibility options."},{"src":"https:\/\/ps.w.org\/jotcast-live-chats\/assets\/screenshot-2.png?rev=3533459","caption":"A JotCast chat embedded on a WordPress post with a user automatically signed in via SSO."}],"raw_content":"<!--section=description-->\n<p>JotCast Live Chats connects your WordPress site to <a href=\"https:\/\/www.jotcast.com\">JotCast<\/a> live chat, enabling zero-click single sign-on for your users. When a logged-in WordPress user visits a page with a JotCast chat embed, they are automatically signed in using their WordPress display name. No extra accounts, no login buttons, no redirects.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Zero-click SSO<\/strong> \u2014 WordPress users are automatically authenticated in JotCast chats with no additional steps.<\/li>\n<li><strong>Chat visibility control<\/strong> \u2014 Restrict who can see chats on your site based on WordPress role: everyone, logged-in users only, subscribers and above, or administrators only.<\/li>\n<li><strong>Membership gating<\/strong> \u2014 Use the <code>jotcast_user_is_member<\/code> filter hook to define your own membership criteria. Works with any membership plugin including Groups, MemberPress, Paid Memberships Pro, WooCommerce Memberships, and custom solutions.<\/li>\n<li><strong>Secure token exchange<\/strong> \u2014 SSO keys are exchanged server-to-server using short-lived, single-use authorization codes. Your encryption key never touches the browser.<\/li>\n<li><strong>AES-256-CBC encryption<\/strong> \u2014 User data is encrypted before being passed to JotCast, ensuring secure transmission.<\/li>\n<\/ul>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to Settings \u2192 JotCast Live Chats and click \"Connect to JotCast.\"<\/li>\n<li>Authorize the connection with your JotCast account.<\/li>\n<li>That's it. Your existing JotCast chat embeds will automatically log in your WordPress users.<\/li>\n<\/ol>\n\n<p><strong>Membership gating with custom filters:<\/strong><\/p>\n\n<p>If you want to restrict certain JotCast chats to paying members, you can define your own membership logic using the <code>jotcast_user_is_member<\/code> filter. Add this to your theme's <code>functions.php<\/code> or a custom plugin:<\/p>\n\n<pre><code>add_filter('jotcast_user_is_member', function($is_member, $user) {\n    \/\/ Your custom membership check here\n    \/\/ Return true if the user is a paying member, false otherwise\n    return $is_member;\n}, 10, 2);\n<\/code><\/pre>\n\n<p>The result is included in the SSO token, and you can mark individual chats as \"Members Only\" in JotCast's chat creation form.<\/p>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>A JotCast account (<a href=\"https:\/\/www.jotcast.com\">sign up at jotcast.com<\/a>)<\/li>\n<li>One or more JotCast chat embeds on your WordPress site<\/li>\n<li>PHP 7.4 or higher with the OpenSSL extension<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the JotCast service (https:\/\/www.jotcast.com) to provide live chat functionality with automatic single sign-on for your WordPress users.<\/p>\n\n<p><strong>When the plugin is first connected:<\/strong>\nA one-time server-to-server request is made to JotCast to exchange a short-lived authorization code for an SSO encryption key. Your site URL and site name are sent during this process.<\/p>\n\n<p><strong>On every page load that contains a JotCast chat embed:<\/strong>\nThe plugin encrypts the logged-in user's display name, email address, profile picture URL, and membership status using AES-256-CBC, and appends the encrypted token to the JotCast embed script URL. This data is sent to JotCast so the user can be automatically signed into the chat. No data is sent for users who are not logged in.<\/p>\n\n<ul>\n<li>Service: <a href=\"https:\/\/www.jotcast.com\">JotCast<\/a><\/li>\n<li>Terms of Service: <a href=\"https:\/\/www.jotcast.com\/terms.html\">https:\/\/www.jotcast.com\/terms.html<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/www.jotcast.com\/privacy.html\">https:\/\/www.jotcast.com\/privacy.html<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>jotcast-live-chats<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to Settings \u2192 JotCast Live Chats.<\/li>\n<li>Click \"Connect to JotCast\" and authorize the connection with your JotCast account.<\/li>\n<li>Once connected, configure the Chat Visibility setting to control who can see chats on your site.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20my%20users%20need%20a%20jotcast%20account%3F\"><h3>Do my users need a JotCast account?<\/h3><\/dt>\n<dd><p>No. Users are authenticated through WordPress \u2014 they don't need to create a separate JotCast account. Their WordPress display name is used in the chat.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20membership%20plugins%3F\"><h3>Does this work with membership plugins?<\/h3><\/dt>\n<dd><p>Yes. The plugin provides a <code>jotcast_user_is_member<\/code> filter hook that you can use to integrate with any membership plugin, including Groups, MemberPress, Paid Memberships Pro, WooCommerce Memberships, or your own custom membership system.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20user%20is%20not%20logged%20into%20wordpress%3F\"><h3>What happens if a user is not logged into WordPress?<\/h3><\/dt>\n<dd><p>It depends on your Chat Visibility setting. If set to \"Everyone,\" non-logged-in users will see the chat in guest mode. If set to any other option, the chat embed will be replaced with a message indicating that the chat is available to members only.<\/p><\/dd>\n<dt id=\"is%20the%20sso%20connection%20secure%3F\"><h3>Is the SSO connection secure?<\/h3><\/dt>\n<dd><p>Yes. User data is encrypted using AES-256-CBC before being transmitted. The encryption key is exchanged between WordPress and JotCast using a secure, server-to-server token exchange with short-lived, single-use authorization codes.<\/p><\/dd>\n<dt id=\"can%20i%20restrict%20specific%20chats%20to%20paying%20members%3F\"><h3>Can I restrict specific chats to paying members?<\/h3><\/dt>\n<dd><p>Yes. Define your membership criteria using the <code>jotcast_user_is_member<\/code> filter hook, then enable \"Members Only\" on individual chats in the JotCast chat creation form.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20wordpress%20multisite%3F\"><h3>Does this work with WordPress Multisite?<\/h3><\/dt>\n<dd><p>The plugin can be activated on individual sites within a Multisite network. The SSO connection is shared across all sites in the network \u2014 you only need to connect once. Chat visibility settings can be configured independently on each site.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Zero-click SSO for WordPress users.<\/li>\n<li>Chat visibility control based on WordPress role.<\/li>\n<li>Membership gating via <code>jotcast_user_is_member<\/code> filter hook.<\/li>\n<li>Secure server-to-server key exchange.<\/li>\n<li>AES-256-CBC encrypted SSO tokens.<\/li>\n<li>Responsive mobile embed support.<\/li>\n<li>WordPress Multisite support.<\/li>\n<\/ul>","raw_excerpt":"Automatically log your WordPress users into JotCast live chats. Zero-click single sign-on with membership gating and role-based access control.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/304726","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=304726"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jotcast"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=304726"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=304726"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=304726"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=304726"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=304726"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=304726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}