TheTransitClock / transitime

TheTransitClock real-time transit information system
GNU General Public License v3.0
79 stars 30 forks source link

Multi agency and apiKeys relationship #273

Open Raven888888 opened 1 year ago

Raven888888 commented 1 year ago

In the Multi Agency wiki setup guide, I follow Step 4 to create

WebAgency data for both are stored in the primary agency database only.

Then, I start tomcat for API and WEB, using

JAVA_OPTS="-Dtransitclock.apikey=abc123 -Dtransitclock.configFiles=/home/ubuntu/transitime/primary.properties"

as I understand it only requires 1 instance of API and WEB.

My question is, why do I need 2 api keys if only the primary key is passed to Tomcat?

I can curl

api/v1/key/abc123/agency/primary/command/routes?format=json
api/v1/key/abc123/agency/halifax/command/routes?format=json

and get the correct results.

I expect halifax agency should require its own apikey, but it does not look like this is the case???

And when I curl

api/v1/key/def456/agency/primary/command/routes?format=json
api/v1/key/def456/agency/halifax/command/routes?format=json

it shows key is not valid.

Does this mean all agencies essentially share the same apiKey?

PS: obviously the apiKey is obfuscated.

vesavlad commented 8 months ago

What's the end goal that you try to archive here? Running one transitclock but having specialized view for each agency that you have there?

Raven888888 commented 8 months ago

Yes @vesavlad , and one apiKey should only see the corresponding agency data