If I get it correctly, you're trying to unstake tokens from an account right?
In that case, the mint authority has nothing to do with it..
If you're staking the tokens in a PDA, you need to create a CPI context with signer so that your program can sign on behalf of that PDA and transfer the tokens out of the "vault". The following example assumes you're using anchor
let cpi_ctx = CpiContext::new_with_signer(cpi_program, cpi_accounts, signer_seeds);
"cpi_program" refers to the the target program of your CPI
"cpi_accounts" refers to the accounts required by the context of your target program
"signer_seeds" refers to the seeds / bump used to derive your PDA
If you're not using a PDA to store the staked tokens, the keypair auth of that account needs to sign the transaction
Still answering your minth authorization question, and as Fuzzy Yeti said, you can create a PDA and assign that as mint authority of your mint account. By doing that, your program will be able to sign on behalf of that mint authority and mint tokens