Get a valid set of APNs credential certificates for dev testing Push bridge

RESOLVED FIXED

Status

()

Firefox for iOS
General
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: jrconlin, Assigned: sleroux)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

2 years ago
Push requires valid Apple certificates in order to send messages over APNs. 
(See https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html#//apple_ref/doc/uid/TP40012582-CH26-SW11) These certs can only be generated by an active Apple Developer account. 

Please generate a set of these certificates and pass them to Operations so that they may be installed on the developer machine. 

(It may also be a good idea to generate a separate set of credentials for the Stage deployment as well.)
(Assignee)

Updated

2 years ago
Assignee: nobody → sleroux
(Assignee)

Comment 1

2 years ago
Would the developer be testing push notifications against a developer build of Firefox for iOS? We currently have three channels:

Fennec (developer/debug builds)
FirefoxBeta (Testflight beta audience)
Firefox (Production)

If so, I can make a sandbox and production push cert for the Fennec channel.
Flags: needinfo?(jrconlin)
(Assignee)

Comment 2

2 years ago
Also, whats the best way to send them over?
(Reporter)

Comment 3

2 years ago
We have several platforms for push:
updates-autopush-dev.stage.mozaws.net - our "dev" platform which should update with every code merge to master. This platform is the most up-to-date, but also can be unstable.

updates-autopush.stage.mozaws.net - our "stage" platform. This platform is where we test tagged, candidates for release. It tends to be more stable, at the cost of not being updated as frequently.

and of course:
updates.push.services.mozilla.com - our production server, this is only updated after thorough checks are done on stage and systems are signed off by QA.

We'd prefer any level of consumer facing service go to our "production" system. (so in your case, FirefoxBeta and Firefox should probably point to our "prod" system.)

As for development, I fully expect that there will need to be changes made on the server to better serve the data. Right now, for instance, the APNs code uses older field names than what the last iteration of the GCM code used. It's a minor fix, but I expect there to be others.

As I understand, APNs allows you to create different app certificates. Each of our servers can be configured to use a different set of credentials, target points, etc. so that should not be a problem.

If you prefer fast iteration at the cost of some potential instability, you should consider using the dev server. Jeremy Orem (oremj@) should be able to add the credentials to the servers. I would recommend sending the certs to him directly rather than adding them here.


Does that help answer your question?
Flags: needinfo?(jrconlin)
(Assignee)

Comment 4

2 years ago
> Does that help answer your question?

Yup this clears things up.

> As I understand, APNs allows you to create different app certificates. Each of our servers can be configured to use a different set of credentials, target points, etc. so that should not be a problem.

You're correct - I can generate a push certificate for each of your environments. I think I'm just getting confused with the app's ability to register a cert for use on the APNS sandbox and production.
(Reporter)

Comment 5

2 years ago
Fair enough. The server has a flag to indicate if the messages should go to the sandbox or not. Just be sure to include that info when you send the certs.

(FYI, I remember that oremj will be out on PTO. Please cc travis@ who is covering for him.)
(Assignee)

Comment 6

2 years ago
:jrcolin, this is finished right? I think we have all the certs setup now for push.
Flags: needinfo?(jrconlin)
(Reporter)

Comment 7

2 years ago
yes, we should have all the credentials we need at this point.

Closing.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Flags: needinfo?(jrconlin)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.