Recent Discussions
liqlAdmin in khoros aurora graphql API
Hi Folks, I want to add roles to the users using graphQL API given below. const ADD_USER_ROLE_MUTATION = gql` mutation addUsersToRole($roleKey: RoleKeyInput!, $users: [UserIdInput!]!) { addUsersToRole(roleKey: $roleKey, users: $users) { result { id name } } } `; const [addUserRole] = useMutation(ADD_USER_ROLE_MUTATION); addUserRole({ variables: { roleKey: { roleName: "role" }, users: [{ id: userId }] } }); The issue I am facing is that when this mutation is executed by an Admin user, the role is successfully added to the target user. However, when the same mutation is executed by a normal user, it fails to add the role due to permission denied errors. Is there a parameter or keyword that can be used in this mutation to allow a normal user to update their own roles or self-related data? For example, in Khoros Classic, we can use the liqlAdmin keyword in REST API requests to bypass such permissions. Is there an equivalent for GraphQL in Khoros Aurora? Thanks in Advance.67Views0likes5CommentsTips on keeping stage and prod in alignment?
Hello developer friends! I am newer to GitHub, so please forgive me if I use the wrong terms here. :) I was wondering if anyone had any tips or tricks on how to "roll back" stage changes to bring staging back in line with prod on a regular basis? I've searched for how to do this more broadly, but what I've found doesn't seem to align well with a situation like Khoros, where there are a few developer admins with GitHub access, but everyone else is making changes directly on the site UI. Essentially, I want to be able to "undo" any unnecessary changes on Stage from people testing or experimenting before say, a Khoros update, so that we can test the new version with the site mirroring Prod as closely as possible. Any advice is welcome - and thanks in advance! :)17Views0likes0CommentsHow to retrieve "Internal reason for ban" field
Hi all, We are looking to extract some data from the "User bans" report in the (Classic) Community Admin interface, under "Mod Tools" > "User bans". When we go click on "Edit" on a particular user, we see the field "Internal Reason for ban;" how can we get a full list of banned users including the reason for ban? Is that field available via API somehow? I wasn't able to find anything. Thanks for any help, Lee33Views0likes1CommentHow to fetch all labels associated with TkbArticlePage and count how many times each label is used
I’m working with the Khoros Community platform and need to fetch all labels that are associated/tagged with TkbArticlePage articles. Additionally, I’d like to get a count of how many times each label is used across different articles. Has anyone worked with the Khoros API or any custom reporting tools that could help with this? Any tips or examples of how to achieve this would be greatly appreciated. Thanks in advance! VikasB VarunGrazittirajjay26 days agoAdept66Views0likes1CommentGetting errror on trying to submit the plugin on dev environment
Getting the error: [UPLOAD_FAIL] The plugin was not uploaded. The plugin package file not found. On runnning 'li submit-plugin'/'li submit-plugin --force', on the dev env. The server config file looks good, has the correct URL, and the upload token. Also ran 'li package-plugin' --> created a plugin folder in the SDK; but still getting the same error. Is this a known issue? Any help would be appreciated.33Views0likes0CommentsHow to create/subscribe the Webhook in Aurora
Hello Folks, I would like to understand the steps involved in setting up a webhook, including how to create one and subscribe to it for specific events or actions. Any guidance or best practices for managing webhooks in Aurora would be greatly appreciated. Thanks in Advance.68Views1like4CommentsAPI Auth in Postman
Hi, Im a bit of a newbie here and would love some help. I am trying to complete Auth in Postman and returning 400 bad request/Invalid request or page not found when trying to obtain the code. Error: getaddrinfo ENOTFOUND {{base_community_url}} The URL is just the Community domain which is the same an the redirect URI. {{URL}}/api/2.0/auth/authorize?li_client_id={{Encoded client ID}}&redirect_uri={{Redirect URI not encoded}}&response_type=code or {{URL}}/api/2.0/auth/authorize?li_client_id={{Encoded client ID}}&redirect_uri={{Redirect URI not encoded}}&response_type=code&jwt={{SSO Toekn}} Thanks HannahHannah_B2 months agoContributor23Views0likes0CommentsError with Oauth 2.0 Client Credentials workflow
I'm trying to authenticate an api call in a typescript app using the oauth 2.0 client credentials workflow and I'm running into issues, I believe, with generating the CC Hash for this. This is for Community Classic. I have verified that I have the correct client id, client secret and shared secret key and that they're being pulled in correctly in my code. Not sure what I'm missing, but this is the error I see when I try to authenticate: {"error":"Authorization or API call failed","details":"Failed to obtain access token. Status: 403. Response: {\"status\":\"error\",\"message\":\"cc_hash is invalid.\",\"data\":{\"type\":\"error_data\",\"code\":214,\"developer_message\":\"The decryption failed. ccHash is Invalid\",\"more_info\":\"\"},\"metadata\":{}}"} Here's the relevant part of my Typescript code that's generating the CC Hash. Not sure if something is formatted incorrectly or what's not being generated correctly or causing it to return an invalid cc hash function generateCCHash(clientId: string, clientSecret: string, sharedSecretKey: string): string { try { const epochTimeMinute = getEpochTimeMinute(); const nonce = generateNonce(); const strToHash = `${clientId}:${clientSecret}:${nonce}:${epochTimeMinute}`; console.log("String to hash:", strToHash); const hash = crypto.createHash('sha512'); hash.update(strToHash, 'utf8'); hash.update(sharedSecretKey, 'utf8'); const hashResult = hash.digest('hex'); console.log("Generated hash (cc_hash):", hashResult); return hashResult; } catch (error) { console.error("Error generating CC-Hash:", error); throw error; } }36Views0likes2CommentsHandlebars Context Objects
Hi all, Just trying to see if anyone else has hit this or if its 'my head is mince syndrome'. I am trying to create a social sharing component but when is use {{page.url}} I am only getting the base url for the community. What I really want is the current page URL. I have tried every which way of the page. Context object but can't get it to spit out the current page URL.61Views0likes5CommentsSDK Preview mode doesn't seem to be working?
Hello fellow devs - I'm very new to GitHub, so I am unsure if this is something I've set up wrong, or if something isn't working in Aurora. I have the SDK installed, and the orange box at the bottom of the screen indicates the SDK previewer is running (it never goes away, even when I haven't started anything in the terminal yet, as a matter of fact). I make the npm run start command in terminal, and I can see an orange outline on a widget I've made changes to - but the changes don't actually reflect in the browser, even upon refresh. Clearly it knows something is different because the outline is there. But the change (like adding a new word to a block of text) isn't there. Is there a trick to getting the preview plugin to work? I've exited out of it from terminal now, and the outline won't go away anymore, even after going in and making the change to the widget directly, saving, and resyncing everything from the stage-main branch. What should my order-of-operations be if I want to work in VS code and see my changes in the previewer of the browser? I am convinced this is a me problem and not an Aurora problem. :( What I did, in order: Merged my working branch with stage-main Opened the HTML for a custom widget on my working branch Opened terminal and ran npm run start Added text to the custom widget Refreshed the page in browser Orange outline on the widget shows, but not the new text. Double checked I didn't accidentally break the HTML; I did not Refreshed again, still nothing. Internal frustration Exited npm with Ctrl+C in terminal Refreshed page again, orange box still there Copied the updated HTML from VS Code, edited widget in browser, pasted, saved - change is exactly what I expected More internal frustration Decided to ask for help here Thank you in advance to anyone who can help!72Views1like5Comments