@@ -118,44 +118,53 @@ return Promise.all([
118118 } ) ,
119119 // FedCM
120120 parseResponse ( '/.well-known/web-identity' , r => {
121- return r . json ( ) . then ( data => {
121+ return r . text ( ) . then ( text => {
122122 let result = {
123- provider_urls : Array . isArray ( data . provider_urls ) && data . provider_urls . length > 0 ? data . provider_urls : [ ] ,
124- accounts_endpoint : data . accounts_endpoint || null ,
125- login_url : data . login_url || null
123+ provider_urls : [ ] ,
124+ accounts_endpoint : null ,
125+ login_url : null
126126 } ;
127+ try {
128+ let data = JSON . parse ( text ) ;
129+ result . provider_urls = Array . isArray ( data . provider_urls ) && data . provider_urls . length > 0 ? data . provider_urls : [ ] ;
130+ result . accounts_endpoint = data . accounts_endpoint || null ;
131+ result . login_url = data . login_url || null ;
132+ } catch ( e ) {
133+ // Failed to parse JSON
134+ }
127135 return result ;
128- } ) . catch ( error => {
129- return {
130- error : `Failed to parse JSON: ${ error . message } `
131- } ;
132136 } ) ;
133137 } ) ,
134138 // Passkey
135139 parseResponse ( '/.well-known/passkey-endpoints' , r => {
136- return r . json ( ) . then ( data => {
140+ return r . text ( ) . then ( text => {
137141 let result = {
138- enroll : data . enroll || null ,
139- manage : data . manage || null
142+ enroll : null ,
143+ manage : null
140144 } ;
145+ try {
146+ let data = JSON . parse ( text ) ;
147+ result . enroll = data . enroll || null ;
148+ result . manage = data . manage || null ;
149+ } catch ( e ) {
150+ // Failed to parse JSON
151+ }
141152 return result ;
142- } ) . catch ( error => {
143- return {
144- error : `Failed to parse JSON: ${ error . message } `
145- } ;
146153 } ) ;
147154 } ) ,
148155 // Related Origin Requests
149156 parseResponse ( '/.well-known/webauthn' , r => {
150- return r . json ( ) . then ( data => {
157+ return r . text ( ) . then ( text => {
151158 let result = {
152- origins : Array . isArray ( data . origins ) && data . origins . length > 0 ? data . origins : [ ]
159+ origins : [ ]
153160 } ;
161+ try {
162+ let data = JSON . parse ( text ) ;
163+ result . origins = Array . isArray ( data . origins ) && data . origins . length > 0 ? data . origins : [ ] ;
164+ } catch ( e ) {
165+ // Failed to parse JSON
166+ }
154167 return result ;
155- } ) . catch ( error => {
156- return {
157- error : `Failed to parse JSON: ${ error . message } `
158- } ;
159168 } ) ;
160169 } ) ,
161170 // security
0 commit comments