strongloop/loopback-component-push

Push Notification issue - iOS

Closed this issue · 3 comments

Hi,

I have a problem with sending push notification from my application error. Please someone let me know how to fix this since I am trying to fix this issue for a month now.

events.js:72
throw er; // Unhandled 'error' event
^
TypeError: Cannot set property 'socket' of null
at Object.exports._extend (util.js:573:21)
at normalizeConnectArgs (tls.js:1324:20)
at Object.exports.connect (tls.js:1331:14)
at apnSocketLegacy (/Users/Buddhika/Development/cloud/google/myapp//node_modules/loopback-component-push/node_modules/apn/lib/socket.js:40:19)
at Connection.initialize.spread.fail.terminated (/Users/Buddhika/Development/cloud/google/myapp/node_modules/loopback-component-push/node_modules/apn/lib/connection.js:175:17)
at /Users/Buddhika/Development/cloud/google/myapp/node_modules/loopback-component-push/node_modules/apn/node_modules/q/q.js:1225:26
at _fulfilled (/Users/Buddhika/Development/cloud/google/myapp/node_modules/loopback-component-push/node_modules/apn/node_modules/q/q.js:830:54)
a

Please find my configuration below. Even if I use sample certificates, keys in the example2.0 in the module, the server will crash.

dependencies:

"assert": "^1.3.0",
"compression": "^1.0.3",
"easyimage": "^1.2.2",
"errorhandler": "^1.1.1",
"imageMagick": "^0.1.2",
"loopback": "^2.15.0",
"loopback-boot": "^2.6.5",
"loopback-component-storage": "^1.3.0",
"loopback-connector-mongodb": "^1.8.0",
"loopback-datasource-juggler": "^2.26.4",
"loopback-component-push": "^1.4.4",
"mkdirp": "^0.5.0",
"mongodb": "^1.4.31",
"quickthumb": "0.0.11",
"serve-favicon": "^2.0.1",
"cron": "^1.0.9"

Push settings

var myApp = {
id: 'xxxxxxx',
userId: 'xxxxxx',
name: config.getApplicationName(),

        description: ' xxxx Notification',
        pushSettings: {
            apns: {
                certData: //my apns cert
                keyData: //my apns key,
                pushOptions: {
                    // Extra options can go here for APN
                },
                feedbackOptions: {
                    batchFeedback: true,
                    interval: 300
                }
            },
            gcm: {
                serverApiKey: //my gcm Key, this works perfectly
            }
        }
    };

I can not find a place to attach files here hence I will post my cert and the key.

Key

Bag Attributes
localKeyID: FB 63 93 D8 54 23 F9 88 7B 35 56 91 CC 87 F7 67 C5 8A 9B 56 
Key Attributes: 
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAs3pckX9tucncRtiX0BDT9YumJGhMSW7Xn/yGPxU9zD96dS4q
gApATYOrWfpDWZ8wYnqjIOJ9vYAZPG3Qvbco5hE6fdVVKMNK9C8AcxyXXczomOG1
0YhOwIXTCt1lVcVYcxZeOGOcrlh5sd6RYl8zOMaTcI7aVBxTQuKjy3IUVAp/qnbO
4kpAT6rvXikw6RQqdlH24efqLesk97SyF6RgxPdU9GjD0Pyj/zOL3vjKjtB8oTuF
f8PnA4MpwTNwSIHAKKG3Bj/Q6wVFx30JRRd6n8HXWs3YyWe7TzCekZK+IvaEW+xD
nq0e+12Dup8aKG5CV0sHRDbWYqUzNIWVkBaM+wIDAQABAoIBABzzxDMEZ2LtGUek
cPjzff3CRU7iNEw0QTxhtBZBCvMD2nFEvT5iaPUYJHAjWvH+KAP63I3Ve4syOt/w
pxezkDls1g6ud0pYFqNFYcEv/4r2Hx9qabYfUvTjoaPDCzHG3/nQxeo6x2+ofhkf
WjyQNucVwXsK0FV5LEVB4kJTaMwVj/2hh5gcRLcT/Q+50QN6c4xWXTDYHFPx54up
YgzJyzK4+6kE+0prbJ4tX2bsuSG07/R6ABFc2PmvVnmXJ9UwYde9blNmAGTz69/K
ArIQRkgaYr+6KMLqX4K3MNHLJ8LF/2diwpARWfacRUdNGY/Kq0Zj0pTw/aw+dLig
y4v6+2ECgYEA7GdQKEVQjaEZR62654Ce/+8TCGatGhWZOioe3ozxr3VMDtnF42Wg
6Pik/27x4y8EDeI7wuqX3kY5UNL0qXv67qmEOoFsjZvdDAPxAZJnl4h4eNNeS8J4
XCNByGWQGeR2EGeP5bEU0SK01TqHUMfHwO3TrZZ4jV0TGT1ML76PIo0CgYEAwlsJ
2pZLnwkE0ViCamfjtN+JFstNF0kVS5/xH57yCgWp9Pvqi5W3k6ltMM0bJWcDT9BK
IpYFhjVKOx+zdTwajX+FLEyKuFdJI0ynkyyPuKhE8QbIvyyiaA5sFl2zLdXBAW7V
+bTvI1NsPnGzObaPL1iibedil70d2LRatpSjz6cCgYBimTx/b1mHmLd4g+c+gxDN
4iLoEBsGlBeSgNrbK6Hp8lxEnWPB0jNot7vppZZRkNx6Be+y/jFVTai+Ix5USheA
z0cNN8nUzjtFtachZrS6KPtGObJMmtGkbDgVovaVNgpgETGdNVxfVcBiZsTlVk3k
E82DywyAuV8r2bsa9rmwSQKBgCrCwuk/1gV4g4HXumHU16mM4OmN8zkjUDciSnfN
ja0cz+bhohnx58DqLubkyYsyHe1qg1UWssJzaRCXCfHKNoFZRCCZ+o9STPoiPGBK
FpjnFLv+5R4CoPzJ54gIN4rnE57QFu3onBCmoxMeCvOwsdIV6y7JEM0Xw8BQ9gBj
taLTAoGBAKSuPFNG4F9ZKCLa+ElNxvL4V+xLm4pxjVf2fJ9HA8Ity2/9DAGj6r3N
seWrcCH7HUiXkV447PsmDO47oHPJcr9ygf0NlAEF8jjoWEGFBSP9OpEBRg8XS6yv
HxskBsdPgpaLlMzohhtS5sfySHUhgkO64bBpHqWwKxw7gLGFmUGI
-----END RSA PRIVATE KEY-----

Cert

Bag Attributes
localKeyID: FB 63 93 D8 54 23 F9 88 7B 35 56 91 CC 87 F7 67 C5 8A 9B 56 
subject=/UID=com.fishrank.app/CN=Apple Development IOS Push Services: com.fishrank.app/OU=C2JEACD3CH/C=US
issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
-----BEGIN CERTIFICATE-----
MIIFhTCCBG2gAwIBAgIIcJJfOCsLiB0wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV
BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
HhcNMTUwNTIyMDMwNDI2WhcNMTYwNTIxMDMwNDI2WjCBhDEgMB4GCgmSJomT8ixk
AQEMEGNvbS5maXNocmFuay5hcHAxPjA8BgNVBAMMNUFwcGxlIERldmVsb3BtZW50
IElPUyBQdXNoIFNlcnZpY2VzOiBjb20uZmlzaHJhbmsuYXBwMRMwEQYDVQQLDApD
MkpFQUNEM0NIMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBALN6XJF/bbnJ3EbYl9AQ0/WLpiRoTElu15/8hj8VPcw/enUuKoAKQE2D
q1n6Q1mfMGJ6oyDifb2AGTxt0L23KOYROn3VVSjDSvQvAHMcl13M6JjhtdGITsCF
0wrdZVXFWHMWXjhjnK5YebHekWJfMzjGk3CO2lQcU0Lio8tyFFQKf6p2zuJKQE+q
714pMOkUKnZR9uHn6i3rJPe0shekYMT3VPRow9D8o/8zi974yo7QfKE7hX/D5wOD
KcEzcEiBwCihtwY/0OsFRcd9CUUXep/B11rN2Mlnu08wnpGSviL2hFvsQ56tHvtd
g7qfGihuQldLB0Q21mKlMzSFlZAWjPsCAwEAAaOCAeUwggHhMB0GA1UdDgQWBBTj
H8OBR8xuNVY13ksdC6r+xFehrDAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFIgnFwmp
thhgi+zruvZHWcVSVKO3MIIBDwYDVR0gBIIBBjCCAQIwgf8GCSqGSIb3Y2QFATCB
8TCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRl
IGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBw
bGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNl
cnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0
ZW1lbnRzLjApBggrBgEFBQcCARYdaHR0cDovL3d3dy5hcHBsZS5jb20vYXBwbGVj
YS8wTQYDVR0fBEYwRDBCoECgPoY8aHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20v
Y2VydGlmaWNhdGlvbmF1dGhvcml0eS93d2RyY2EuY3JsMAsGA1UdDwQEAwIHgDAT
BgNVHSUEDDAKBggrBgEFBQcDAjAQBgoqhkiG92NkBgMBBAIFADANBgkqhkiG9w0B
AQUFAAOCAQEAkTXcifA298nhBZD23DxKo++K9rICl5Jn/txL9Cg2gwSToPH7zzUf
3eu+52s681g7EyqXLIGawzbgTGiwe8cLQbrIyBChO73+ydlbKVCIEb8/Y8RxMx0y
/sfxPPEHBAnJDqOu2trYI3jPVyOy4uyAJCHRKq15T1xvbpPqqK3UCrUWauVTXolG
APnKJjkg6N9Fnonmr4q42+Y/aYqjbSM08b31oNEauZX1gOTtX9CkpX/UQZXRCwMZ
HZ+qB/+aw1aniVTez9dDw8GVTc0AmokA/jzo2h2IECSWxtsxvEgjZSDClGEBbGSr
774b0xYWXF9Pj/SJuGnpTjNTYg0iZVB50w==
-----END CERTIFICATE-----

Thanks
Buddhika

Try like so
...
pushOptions: {
port: 2195
// Extra options can go here for APN
},
feedbackOptions: {
batchFeedback: true,
interval: 300,
port: 2196
}
...

Thanks a lot Aaron. This works now.

I'm closing the issue as resolved then.