Ideal way to create first admin role for a marketplace store - e-commerce

I am building a small electronics marketplace from scratch where users can buy or sell their electronics online. The marketplace will have three types of users -
Regular users with ability to buy a product and add a product listing to sell
Moderators to remove spam and edit existing listings
Admins - with moderator rights plus ability to add, promote and delete moderators, and add new admins.
I am not sure what would be the ideal way to create the first admin account. One way it to just add/modify the admin account in my database myself (by the developer). Is it the only way? Am I sweating too much on this issue?

You can't create an admin account using your interface, because you would have no way of proving that you have the authority to create such an account.
Instead, you should create an admin account either directly through your database system, or create a standard user account and give it administrator permissions.
If your system is designed well, there should be no way for you to give yourself admin permissions without direct access to your system. If it is possible, anyone could create an administrator account for themselves.

Related

Difference between Shopify partner and Shopify admin

1.What is the major difference between Shopify partner and Shopify admin?
2.How to connect both?
3.Reason behind 2nd question is
only in partner site we can see the status of API health and
I can only see order/customer/product details in Shopify admin not in partner. In my use case I want to see order/customer/product details and also want to test GDPR webhooks. How it is possible?
A partner account can be created on https://en.shopify.hk/partners. When you create a Shopify Partners account, you gain access to a Partners dashboard, and you will become a Shopify Partner. By creating a partner account, you would become an admin of the partner account will be able to:
Create Development Stores: those are stores that you can create for free and use them to develop new Shopify themes, apps etc. Development stores do not have a monthly recurring hosting fees. However, they are password protected, and cannot accept any form of payments as the purpose is to either develop and/or test themes and apps. After setting up a development store, you can also change it to a Managed Store by transferring ownership of the store to a client who will then pay for the hosting, and make the store functional. This client will then become the admin of the store.
Create Managed Stores: those are stores that you create to sell; you pay a monthly hosting fees depending on the pricing plan you select, and users will be able to make payments through those stores.
Develop public/custom/private apps.
Link to specific stores: if you want to update the code on another merchant's store, which you did not create, you can click link the store by adding a Managed Store, then input their store URL, and send them a Collaborator Access Request. Upon accepting your request, their store would appear in your partner dashboard and you can access their store dashboard to see orders, customers etc. On the list of stores in the partner dashboard, you will see a Log In link to login to the dashboard of each store individually.
Add members: you can add members to your Partner Dashboard and give them different roles, and access to specific stores linked to your partner account. This way, if you want multiple developers to work on a store you have access to, they can access those stores (although the store owner will not know who is accessing, they would only know that it's being accessed by your partner account specifically).
For each store linked to your partner account, you will see whether it is a Development Store, or if it's a Managed Store, you will see the plan chosen. For Managed Stores, you can also click on Actions and completely Remove access for yourself by unlinking your partner account from the store.
On the other hand, a Shopify admin account refers to an administrator account specific to a store. For example, if you own a store, you would be the store admin. Each store can only have one admin, and a selected number of staffs. The Basic Shopify plan can only have two staffs. However, each store can have unlimited collaborators which mean, each store can be linked to multiple Partner accounts. Partner accounts only gain access to what the store administrator provides them access with. When you send them a collaborator request, it asks you if you would like to request access to everything, or only specific parts of the store, such as themes/apps only.

Restricting personal accounts user login

I have to build a portal for my institute which will act as a job portal for the institute. Companies should be able to post their job/intern openings on the portal. For that to happen, one prime condition is that HRs should login only with their work profiles and thus their personal accounts(gmail,etc.) should be restricted. I have seen some similar questions where we had to whitelist a particular domain and restrict all others but this might not be feasible in this case, as whitelisting all the work domains doesn't seem practical. Is there a built-in solution for this?
My Tech Stack is:
NextJS for the frontend.
For the backend part, I am thinking of either NodeJS+mongoDB OR Sanity.io depending on a more feasible solution for the above problem statement...
Restrict yahoo/gmail and only allow their company's email or school's email (.edu). You can also have a dropdown of whitelisted school's email or company.
School or companies who wish to join your platform will have to be manually added once. Basically whitelisted list can perform registration in the future.

Use SharePoint 2010 workflow to add permissions to a document library

I'm trying to create a register, in a way, so that users (who initially have read permissions) on a SharePoint site, can add themselves to a group which has contribute permissions to a document library. This is something similar to what Moodle can do, where users can enrol themselves on a course.
My thinking is that I'd setup a list that allows all users to have contribute permissions. A user would then add a very basic list item which would start a workflow. The workflow would add the said user to a group that already has contribute permissions to a document library.
If it helps, here's the reason:
We have a lot of students accessing our SharePoint site (well over 2000), and all students are under a general AD group. To use the SharePoint Learning Kit (and therefore make use of SCORM content), there has to be a SharePoint group with specific rights, and that group should, ideally, contain individual users rather than AD groups (depending on the size of the AD group). Unfortunately, there isn't a way to get our learner record system to expose a field which SharePoint could 'see' which is why all students are under a general AD group. Because there are so many students (some with similar names), it would be a hard task to get lecturers to filter through each student to add them manually to the SLK group that's needed. Which is where this idea comes in. A student could enrol themselves into the SLK group and get access to the SLK material.
And breathe.
There are a lot of possible ways to do this. For example you can create custom timer job which will run every 15 minutes and synchronize sharepoint group with list you mentioned. If you want to stick to workflow way you can create custom workflow action which will add user to sharepoint group and then create workflow which uses this activity using sharepoint designer.

Corporate login solution

Imagine a situation where a large corporation wanting to give their users access to a website, without having to individually register each of their users with the target website.
EDIT: Registrations to the website are paid subscriptions, so normally users would pay and get their accounts activated via support line (or it happens automatically). Corporate would want to purchase a bulk subscription, and add/remove the users under that, subject to a maximum limit, so the individual users don't have to go through the hassle.
Users should still have their individual accounts with the website(instead of a single account used by all users) so that they can have their preferences saved, etc.
(Prefer a solution where most of the implementation happens in the website side)
Are there any accepted patterns, solutions for this kind of scenarios?
I thought of if we could use OAuth(Yes, I know it's authorization,
but may be we can use it as an authentication tool as well, right?),
or OpenID like protocol. But the corporation does not have such
mechanism exposed to the outside. Are there any "off the shelf" kind
of products which we could use to create a OAuth/OpenID
implementation against an existing user base, lets say
ActiveDirectory.

How to move existing business catalyst site to different account without becoming a partner

I have an existing business catalyst website on a partner account I need to relocate to a different account, that is not a partner account because I cannot afford the $900 partner fee. Any suggestions on the best way to do this?
Unfortunately, you can't transfer a Business Catalyst site to a non-paid Partner Portal. However, you can transfer to a paid Partner Portal and I can help with that.
I'm a BC Partner and would be happy to have your site transferred to my Partner Portal (account). I'm a Standard Partner which means the billing relationship for your website remains between you and Adobe - has nothing to do with me - and the subscription plan you choose is up to you.
It's a relatively straightforward process. You need to sign into the Admin area and go to Help & Support. From there, either start a chat or submit a ticket.
You will need to provide the following info:
your user email
the new Partner name
the new Partner URL
the new Partner email
(details here: http://helpx.adobe.com/business-catalyst/partner-portal/transferring-sites-partners.html)
And that's it. The owner of your current Partner Portal (you) will also need to verify that they consent to the site being moved - BC may require you to submit an additional ticket from the Help & Support tab in your Partner Portal.
I can provide you will all my contact details and required info. Just go to my site: http://www.indieweb.co.nz/contact and flick me a webform enquiry.
I look forward to hearing from you.
Cheers,
Luke