cancel
Showing results for 
Search instead for 
Did you mean: 
EN
cancel
Showing results for 
Search instead for 
Did you mean: 
BenjiDev
Enthusiast

Authenticating an Archicad user in a 3rd party system

Hello, I know it is possible to get the user id of a user:

 

https://community.graphisoft.com/t5/Developer-Insights/Introducing-new-user-identification-to-the-AP...

 

But is it possible to verify it?

 

Let's say I make an Add-on that I sell. 

ACAPI_Protection_GetGSIDUserId 

Seems like a good identifier to tie a license of the Add-on to, because it represents an Archicad user.

 

So to purchase a license for the Add-on the user just has to provide this ID (or if purchase is done in the Add-on it can be retrieved) and stored on a license server.

 

Then the Add-on can retrieve the same ID and check if it exists on the license server to verify that the user "has" a license to the Add-on. 

 

Problem is that I don't know how to verify this ID on the license server, how can the license server (or other 3rd party systems) know that the id it gets is a valid Graphisoft user ID?  

 

Is it possible to get a signed graphisoft user id that can be verified. Or a token of some sorts, that a 3rd party system can verify with a graphisoft controlled server?

 

Paid Add-ons I've seen often requires the user to register separately in their system with traditional email + password. But if you where able to trust the Graphisoft user id (and additionally the organization id) you could make a system where the user can access their 3rd party Add-on licenses through their Graphisoft account. 

 

 

 

 

 

 

10 Replies 10
BenjiDev
Enthusiast

Hello Bernd, thanks for sharing your solution.

Yes that idea is better. 

I guess you'd have to decompile/recompile the add-on and remove function calls to circumvent that license check, or perhaps replace the embedded public key. Feels way harder compared to extracting a secret from the binary. 

Didn't find the answer?

Check other topics in this Forum

Back to Forum

Read the latest accepted solutions!

Accepted Solutions

Start a new conversation!