در همان مطلب «ارتقاء به HTTP Client در Angular 4.3» توضیح دادم؛ در قسمت «یک نکته: شیء HttpParams به صورت immutable طراحی شدهاست.»
شما چون HttpParams را به صورت زنجیروار فراخوانی نکردید:
حاصل نهایی آن خالی خواهد بود (پس از new HttpParams جائیکه ; قرار گرفته، کار تغییرات این شیء immutable تمام است و پس از آن چیزی به آن اضافه نخواهد شد). به همین جهت است که پیام unsupported_grant_type را دریافت میکنید. چون grant_type ایی را ارسال نکردهاید و ()body.toString آن یک رشتهی خالی است. مثالی را که پیشتر ارسال کردم، زنجیروار است.
شما چون HttpParams را به صورت زنجیروار فراخوانی نکردید:
body = new HttpParams(); body.set('grant_type', 'refresh_token'); body.set('refresh_token', model.refreshToken);