Actually, 17 bytes (non-competing)
;a¡;lrR(♀ⁿ@♂≈♀*;░
Explanation:
;a¡;lrR(♀ⁿ@♂≈♀*;░
initial stack: [b n] (b = base, n = number)
; dupe b
a invert stack
¡ n as a base-b integer
;lrR dupe, length, range, reverse
(♀ⁿ raise b to each power in range
@♂≈ create list of integers from base-b string
♀* pairwise multiplication
;░ filter out zeroes